[PHP / MYSQL] textarea : il aime pas les '

textarea : il aime pas les ' [PHP / MYSQL] - PHP - Programmation

Marsh Posté le 25-02-2004 à 14:44:29    

Bonjour,  
J'ai fais des recherche ici, dans google mais saisir ce caractere : ' dans une recherche c'est chiant.
Bref, voici mon code :
 
nouvelles.php?page=messages

Code :
  1. <FORM ACTION="nouvelles.php" METHOD="post">
  2.   <INPUT TYPE=TEXT SIZE=15 NAME="pseudo_dest" CLASS="saisie">
  3.     <TEXTAREA  CLASS="saisie" COLS=50 ROWS=8 NAME="message"> </TEXTAREA>
  4. <INPUT TYPE="submit" VALUE="Envoyer" CLASS="bouton">


 
la page nouvelle par defaut inclue une page de news :

Code :
  1. IF (!empty($_POST['message']) && !empty($_POST['message'] )) {
  2. $message=$_POST['message'];
  3. $pseudo_dest=$_POST['pseudo_dest'];
  4. mysql_query ("INSERT INTO `nouvelles` ( `id_nouvelles` , `texte` , `pseudo` , `date_nouvelles` )VALUES ('', '".$message."', '".$pseudo_dest."', NOW( ))",$connexion);}
  5. ...
  6. while ($row = mysql_fetch_array($select)) {
  7.   echo ''.$row['date_nouvelles'].' :<BR>'.nl2br($row['texte'


 
J'ai supprimer tout le code inutil (je pense)
 
mon probleme :
quand je tape ' dans mon textarea il me prend rien en compte c'est a dire qu'il n'enregistre rien dans la base de donne...
J'ai vraiment une difficulté a m'exprimer...
Exemple :
je saisie : test d'un message => rien dans la BD
je saisie : test => ca marche
je saisie : test d''un message => ca marche
 
Help !


Message édité par guiotv2 le 25-02-2004 à 14:45:47
Reply

Marsh Posté le 25-02-2004 à 14:44:29   

Reply

Marsh Posté le 25-02-2004 à 14:48:48    

perso je t'attribue ma palme d'or du code foireux pour aujourd'hui avec une mention toute particulière pour le

Code :
  1. IF (!empty($_POST['message']) && !empty($_POST['message'] ))


Qui est vraiment magnifique.
 
Sinon pour répondre à ta question la fonction addslashes est ton amie. Il faut l'utiliser sur tous tes champs de type texte.
Attention à ne pas oublier de faire l'inverse stripslashes) au moment de l'affichage.

Reply

Marsh Posté le 25-02-2004 à 14:49:27    

addslashes() est ton amie

Reply

Marsh Posté le 25-02-2004 à 16:07:59    

anapajari = :) oui je suis debutant mais bon ça marche alors je ne me pose pas trop de question.  
Si tu as le courage peux tu me montrer le code adequate ?
 
Merci !
 
T509 = Merci de ta reponse !

Reply

Marsh Posté le 25-02-2004 à 16:25:07    

alors ton  

Code :
  1. IF (!empty($_POST['message']) && !empty($_POST['message'] ))


ça veut dire:
si (la variable nommée message passée en paramètre n'est pas vide) et si (la variable nommée message passée en paramètre n'est pas vide)
Tu vois pas comme une redondance?
 
Quand au reste du code:
- ton html est pas validable, les balises sont en majuscule, il manque plein de " ...
- dans ton php, ya plein de choses que je fait pas pareil comme par exemple: echo ''.$row['date_nouvelles'], a quoi servent les '' ???
 
enfin tu noteras que je t'ai donné la même réponse que T509 sauf que moi en plus je t'avais donné le lien vers la doc et j'ai même pas le droit à un merci :o
 
 

Reply

Marsh Posté le 25-02-2004 à 16:33:44    

addslashes est une aberation qui ne marche qu'avec MySQL alors que la norme SQL est très clair la dessus : il faut tout simplement doubler les ' dans la requète qui insere la chaine dans la DB.

Reply

Marsh Posté le 25-02-2004 à 16:54:44    

anapajari : mort de rire pour ma condition message et message ça c'est un vieux copier coller merdique. :)
sinon tu as tord sur une chose : je t'es dis merci...
 

Citation :

anapajari = :) oui je suis debutant mais bon ça marche alors je ne me pose pas trop de question.  
Si tu as le courage peux tu me montrer le code adequate ?
Merci !


 
j'ameliorais le code une fois mon site fini parceque ça marche bien comme ça et je suis seul sur un assez gros site et si je vois pas le site avancer je vais me decourager.

Reply

Marsh Posté le 25-02-2004 à 16:55:25    

Kristoph = merci pour l'info, mais perso j'utilise mysql.

Reply

Marsh Posté le 25-02-2004 à 17:05:23    

guiotv2 a écrit :

...
sinon tu as tord sur une chose : je t'es dis merci
...


 :jap:
 
sinon Kristoph a fondamentalement pas tort, donc si besoin tu peux faire un strreplace de ' par ''.


Message édité par anapajari le 25-02-2004 à 17:06:39
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed