Un problème de copier/coller...

Invité
Invité n'ayant pas de compte PHPfrance

10 févr. 2006, 00:45

Bonjour à toutes et à tous.

Je me suis inscri sur ce forum car je débute en php et il se peut que j'appelle à l'aide plusieurs fois durant mon périple !

Donc voila, je vous explique mon premier petit souci :
J'ai créé une page d'administration permettant d'ajouter des news dans la base de données et sur la page d'index du site (je tourne en local pour le moment).
Il fonctionne très bien, le titre, le contenu, l'auteur ainsi que la date s'affiche sans problème.
Sauf dans un cas !
Eh oui ! Lorsque je fais un copier/coller d'un texte de n'importe ou (Word, un site internet etc...) : impossible d'afficher la news sur la page d'index puisqu'elle ne s'enrigistre pas dans la base de données. Pourtant je n'ai aucune erreur et cela marche très bien lorsque je tappe le texte.

Précisions : ce n'est pas un problème de caractères spéciaux non plus puisque j'arrive à les afficher, lorsque je tappe manuellement un texte.

Je ne vois pas du tout d'ou pourrait provenir le problème, alors je vous demande votre précieuse aide !

Que faire ??!

Merci d'avance !

Mammouth du PHP | 19672 Messages

10 févr. 2006, 10:06

Est-ce que la validation du formulaire de saisie comporte des messages d'erreur parsonalisé pour des champs obligatoires non remplis et ce genre de chose ? Que se passe-t-il lorsque tu fais un copier/coller dans ce cas ?

En regardant directement dans ta base de données via phpMyAdmin, est-ce que les textes sont enregistrés ou non ?
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphanteau du PHP | 12 Messages

10 févr. 2006, 12:48

Non, aucune erreur.
Lorsque que je fais ce fameux copier/coller, il m'envoie le message de confirmation comme si tout s'était bien passé.
Donc je retourne sur la page d'index mais elle ne s'affiche pas...

Dans la base de données, en regardant directement dans phpmyadmin, rien du tout, la fameuse news ne s'enregistre absolument pas lorsque c'est un copier coller... :s

Si elle s'enregistrerai dans la base, elle s'afficherai je pense vu que mon programme tourne bien.
Mais je ne sais pas ce qui fait foirer son entrée dans la base quand on fait un copier/coller d'un texte... :s

Mammouth du PHP | 19672 Messages

10 févr. 2006, 12:51

Aucune idée, mais il y a certainement une explication: essaye de faire afficher les variables récupérées avant insertion.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Administrateur PHPfrance
Administrateur PHPfrance | 11457 Messages

10 févr. 2006, 12:53

Surveille bien tout ce qui concerne les apostrophes et guillemets contenus dans ton texte...

Eléphanteau du PHP | 12 Messages

10 févr. 2006, 22:01

Aucune idée, mais il y a certainement une explication: essaye de faire afficher les variables récupérées avant insertion.
Le truc c'est que ca fonctionne très bien lorsque je tape moi même n'importe quel texte même avec tout type caractères spéciaux...
Surveille bien tout ce qui concerne les apostrophes et guillemets contenus dans ton texte...
Oui j'ai fais une multitude de tests... mais ça ne provient apparemment pas de là.. :s

Eléphant du PHP | 64 Messages

10 févr. 2006, 22:14

essaye la fonction
mysql_error()
et dis nous quel est le message affiché
mysql_query($sql) or die (mysql_error());
sa c'est pour te montrer comment l'utiliser

:roll:

Eléphanteau du PHP | 12 Messages

21 mars 2006, 11:15

essaye la fonction
mysql_error()
et dis nous quel est le message affiché
mysql_query($sql) or die (mysql_error());
sa c'est pour te montrer comment l'utiliser

:roll:
Excusez de ma lenteur mais je n'ai pas pu m'occuper ça pendant un laps de temps assez long...
Bref..

Merci Mafio et aux autres j'ai essayé la fonction mysql_error() et d'après ce que je peux en déduire c'est avec les apostrophes ( ' ) que ça ne passerait pas ...
En effet il m'affiche un problème de synthaxe à chaque ligne ou peut se trouver une apostrophe et lorsque je les supprime la news s'affiche.

Comment faire pour qu'il accepte ce caractère ?
Dans ma base de données l'interclassement de toutes mes tables (enfin j'en ai qu'une pour le moment) est réglé sur latin1_swedish_ci .

Merci pour votre précieuse aide.

Eléphanteau du PHP | 12 Messages

22 mars 2006, 23:50

Bon bah vu que je n'avais pas d'autres réponses, j'ai parcouru un peu tous les topics qui rejoignaient mon problème et j'ai fini par trouver le remède !!! :)

En effet il me suffisait d'utiliser la fonction addslashes () car c'était un problème lié aux guillemets " et ' .

Voila, merci quand même et à peut-être à bientôt pour un autre problème...