Textarea tag
Résolu
haikei00X
Messages postés
67
Date d'inscription
Statut
Membre
Dernière intervention
-
haikei00X Messages postés 67 Date d'inscription Statut Membre Dernière intervention -
haikei00X Messages postés 67 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
J'ai un soucis concernant le textarea en html.
Donc voilà, j'utilise dans mon formulaire un textarea où je dois écrire un texte qui doit être enregistré dans une base de données .Le problème c'est que j'obtiens une erreur sql lorsque j'utilise des caractères spéciaux ou de la ponctuation dans mon texte. Une fois j'écris normalement sans accents ni apostrophes, mon texte s'enregistre dans la base sans aucun soucis.
Voilà ma ligne textarea:
Je voudrais savoir s'il y a moyen de permettre l'usage de caractères spéciaux.
Merci d'avance ^_^
J'ai un soucis concernant le textarea en html.
Donc voilà, j'utilise dans mon formulaire un textarea où je dois écrire un texte qui doit être enregistré dans une base de données .Le problème c'est que j'obtiens une erreur sql lorsque j'utilise des caractères spéciaux ou de la ponctuation dans mon texte. Une fois j'écris normalement sans accents ni apostrophes, mon texte s'enregistre dans la base sans aucun soucis.
Voilà ma ligne textarea:
<textarea name="description" id="description" rows="8">
Je voudrais savoir s'il y a moyen de permettre l'usage de caractères spéciaux.
Merci d'avance ^_^
A voir également:
- Textarea tag
- Mp3 tag - Télécharger - Catalogage
- Tag scanner - Télécharger - Catalogage
- Tag&rename - Télécharger - Catalogage
- Audio tag - Télécharger - Catalogage
- Mp3 tag remover - Télécharger - Catalogage
3 réponses
Pour éviter tes problèmes, il faut utiliser la fonction mysql_real_escape_string sur les variables que tu mets dans la requête.
Attention ! Tu ne peux utiliser cette fonction que APRÈS la connexion à la base de données.
Attention encore plus grave : les fonctions mysql_ sont obsolètes et disparaîtront bientôt de PHP, il faut dès maintenant t'habituer à utiliser mysqli_ ou PDO. Il s'agit toujours de la même base de données mysql, seulement la façon d'exécuter les requêtes change.
En attendant, avec tes fonctions mysql_, tu peux écrire :
Attention ! Tu ne peux utiliser cette fonction que APRÈS la connexion à la base de données.
Attention encore plus grave : les fonctions mysql_ sont obsolètes et disparaîtront bientôt de PHP, il faut dès maintenant t'habituer à utiliser mysqli_ ou PDO. Il s'agit toujours de la même base de données mysql, seulement la façon d'exécuter les requêtes change.
En attendant, avec tes fonctions mysql_, tu peux écrire :
$link=mysql_connect("localhost","root",""); //Connexion au serveur if(!$link) { die('Erreur connexion'.mysql_error()); } $date=mysql_real_escape_string($date); // échappement des caractères spéciaux après la connexion $title=mysql_real_escape_string($title); $type=mysql_real_escape_string($type); $des=mysql_real_escape_string($des);
Bonjour
Le problème ne vient pas du textarea, mais te ta façon de faire ta requête sql. Il y a plusieurs façon de faire les requêtes mysql en PHP, et la façon précise de les faire pour ne pas avoir de problème dépend de la méthode que tu utilises.
Peux-tu nous montrer le code où tu crées et appelles tes requêtes ?
Le problème ne vient pas du textarea, mais te ta façon de faire ta requête sql. Il y a plusieurs façon de faire les requêtes mysql en PHP, et la façon précise de les faire pour ne pas avoir de problème dépend de la méthode que tu utilises.
Peux-tu nous montrer le code où tu crées et appelles tes requêtes ?
Merci de m'avoir répondu!
Voilà mon code
Merci encore une fois ^_^
Voilà mon code
<html> <head> <title>Signaler</title> <meta charset="utf-8"> </head> <body bgcolor=#2F4F4F > <form name="FormSignal" id="FormSignal" action="SignalAction.php" method="POST"> <table border="1" align="center" cellspacing="0" cellpadding="0" > <tr height="30" bgcolor=#F5DEB3 > <td align="center" valign="center" width="150"> <b>Today's Date</b> </td> <td align="center" valign="center" width="150"> <input type="date" name="Date" id="Date" maxlength="10"/> </td> </tr> <tr height="30" bgcolor=#F5DEB3 > <td align="center" valign="center" width="150"> <b>Title</b> </td> <td align="center" valign="center" width="150"> <input type="text" name="title" id="title"/> </td> <tr height="30" bgcolor=#F5DEB3 > <td align="center" valign="center" width="150"> <b>Type</b> </td> <td align="center" valign="center" width="150"> <select id="list" name="list"> <option value="Opérationnel">Opérationnel</option> <option value="Vie sur site">Vie sur site</option> <option value="Administratif">Administratif</option> <option value="Déplacement">Déplacement</option> </select> </td> <tr height="100" bgcolor=#F5DEB3 > <td align="center" valign="center" width="150"> <b>Description</b> </td> <td align="center" valign="center" width="150"> <textarea name="description" id="description" rows="8">Vous pouvez taper ici la description de votre irritant.</textarea> </td> </table> <h2> <center><input type="button" name="button1" id="button1" value="Home"/>    <input type="submit" name="button2" id="button2" value="Signal"/></center> </h2> </form> </body> </html>
Merci encore une fois ^_^
Je t'avais demandé "le code où tu crées et appelles tes requêtes".
Où se trouvent la création de requête et l'appel dans ce code ?
Où se trouvent la création de requête et l'appel dans ce code ?
ok voilà
<?php //Récupérer les données du formulaire $date=$_POST['Date'] ; $title=$_POST['title'] ; $type=$_POST['list'] ; $des=$_POST['description'] ; /*************************************************************************/ $link=mysql_connect("localhost","root",""); //Connexion au serveur if(!$link) { die('Erreur connexion'.mysql_error()); } $Db_Select=mysql_select_db('gestionirritants',$link); //Connexion à la base de données if(!$Db_Select) { die('Base non trouvée'.mysql_error()); } /*************************************************************************/ $sql = " INSERT INTO declarations VALUES (' ', '$date', '$title' , '$type' , '$des') "; $req=mysql_query($sql) or die('SQL Error'.$sql.mysql_error() ); if(isset($req) ) { echo "<center><b>Votre déclaration a été envoyée</b></center>" ; echo "<center><b>Merci!!</b></center>" ; } else { echo 'Erreur envoi non effectué'; } mysql_close (); ?>
Merci infiniment!!