Champ textarea bizarre !

Fermé
Le voileux Messages postés 22 Date d'inscription lundi 16 octobre 2006 Statut Membre Dernière intervention 12 décembre 2006 - 26 nov. 2006 à 21:27
P@ Messages postés 1709 Date d'inscription vendredi 7 juillet 2000 Statut Membre Dernière intervention 24 mars 2009 - 28 nov. 2006 à 17:10
bonjour,

Dans mon formulaire, il y un champ textarea classé en BOLB sur ma base msql qui ne supporte un certains nombres de virgules, points, accents...
Si le nombre de caractère dans ce champ est faible (-de 120 environ) l'annonce s'affiche correctement. Mais sinon l'annonce n'apparait pas ensuite dans les rubliques.
La seule façon de faire apparaitre tout le texte est d'écrire sans accents et sans ponctuation.

Si quelqu'un connait ce type de problème, cela m'aiderai bcp car je cherche depuis longtemps!

Merci d'avance

11 réponses

P@ Messages postés 1709 Date d'inscription vendredi 7 juillet 2000 Statut Membre Dernière intervention 24 mars 2009 186
27 nov. 2006 à 10:15
petite questions :
tu es en php ??
Tu as essayer des fonction de type addslashes, stripslashes ou htmlspecialchars(), quotemeta() et get_magic_quotes_gpc().
regarde sur https://www.php.net/manual/fr/function.addslashes.php
0
Le voileux Messages postés 22 Date d'inscription lundi 16 octobre 2006 Statut Membre Dernière intervention 12 décembre 2006
27 nov. 2006 à 10:37
Oui, je suis en php.

Je ne connais pas les fonctions que tu sites. J'avoue que j'ai un peu de mal à comprendre...

Tu trouveras ci-dessous ajout.php qui est sité dans mon formulaire. Est-ce ici que je dois rajouter quelque chose ?

<html>

<head>
<meta http-equiv="content-type" content="text/html;charset=iso-8859-1">

<title>Ajout de votre annonce</title>

</head>

<body>

<b>
<table border="0" cellpadding="4" cellspacing="0" width="100%" height="100%" bgcolor="gray">
<tr>
<td valign="middle">
<center>
<br>

<?php>
include("conf.php");
$table="annonces";



MYSQL_CONNECT($serveur,$login,$pass);


mysql_select_db("$base");

$time=time();
$query="insert into $table values ('0', '$nom', '$auteur', '$email', '$contenu', '$rubrique', '$telephone', '$time')";
$requete = mysql_db_query($base, $query);
echo "<font face='Arial'><b>Votre annonce a été ajoutée</b></font><br><br>
<br> <br> <center><font face='Arial' size='2'><a href='annonces.html'>Visualiser les annonces</a></font></center>";
MYSQL_CLOSE();
?>
</center>
</tr>
</table>
</b>
</body>
</html>

Merci encore !
0
l'homme qui vallais trois milliardsss
27 nov. 2006 à 10:42
Au pire ce que tu peut faire au lieu de le mettre en BOLB soit tu le met en VARCHAR 255 charactère ou en TEXT ou la c'est illimité mais a toi de mettre des htmlspecialchars et des empty etc pour la sécurité.
0
Le voileux Messages postés 22 Date d'inscription lundi 16 octobre 2006 Statut Membre Dernière intervention 12 décembre 2006
27 nov. 2006 à 10:45
J'ai essayé de mettre en varchar ou en text mais le problème persiste !
0
Le voileux Messages postés 22 Date d'inscription lundi 16 octobre 2006 Statut Membre Dernière intervention 12 décembre 2006
27 nov. 2006 à 14:55
Après quelques nouveaux tests avec varchar et autres toujours la même chose !

En fait le champ ne supporte pas un certain nombre d'accents ou de ponctuation. car si les annonces sont courtes pas de soucis.

Bizarre non !
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
P@ Messages postés 1709 Date d'inscription vendredi 7 juillet 2000 Statut Membre Dernière intervention 24 mars 2009 186
27 nov. 2006 à 15:50
donc au moment d'enregistrer, de soumettre, ton textarea pour le mettre en base tu lui fait
$annonce = htmlspecialchars($contenu);
0
Le voileux Messages postés 22 Date d'inscription lundi 16 octobre 2006 Statut Membre Dernière intervention 12 décembre 2006
27 nov. 2006 à 18:33
Dois-je mettre cette ligne dans mon document ajout.php après $query par exemple ou y a t-il une place précise ?

Merci !
0
Le voileux Messages postés 22 Date d'inscription lundi 16 octobre 2006 Statut Membre Dernière intervention 12 décembre 2006
27 nov. 2006 à 22:13
Malgré plusieurs essais, je sais pas où placer exactement cette ligne : $annonce = htmlspecialchars($contenu);

Qu'entendez-vous par au moment d'enregistrer ?

Merci de votre aide, je pense que nous allons y arriver !!!!
0
P@ Messages postés 1709 Date d'inscription vendredi 7 juillet 2000 Statut Membre Dernière intervention 24 mars 2009 186
28 nov. 2006 à 10:02
un truc dans ce gout là


<?php>
include("conf.php");
$table="annonces";



MYSQL_CONNECT($serveur,$login,$pass);


mysql_select_db("$base");

$time=time();
$annonce = htmlspecialchars($contenu); 
$query="insert into $table values ('0', '$nom', '$auteur', '$email', '$annonce', '$rubrique', '$telephone', '$time')";
$requete = mysql_db_query($base, $query);
echo "<font face='Arial'><b>Votre annonce a été ajoutée</b></font><br><br>
<br> <br> <center><font face='Arial' size='2'><a href='annonces.html'>Visualiser les annonces</a></font></center>";
MYSQL_CLOSE();
?> 

0
Le voileux Messages postés 22 Date d'inscription lundi 16 octobre 2006 Statut Membre Dernière intervention 12 décembre 2006
28 nov. 2006 à 10:30
Bonjour,

Merci encore de votre aide, mais je viens de rentrer les données de cette façon et ça ne fonctionne toujours pas !

peut-on essayer autre chose ?

Le voileux qui déprime...
0
Le voileux Messages postés 22 Date d'inscription lundi 16 octobre 2006 Statut Membre Dernière intervention 12 décembre 2006
28 nov. 2006 à 10:37
Petite précision : la ponctuation ne pose pas de problème en fait, se sont les accents...
0
Le voileux Messages postés 22 Date d'inscription lundi 16 octobre 2006 Statut Membre Dernière intervention 12 décembre 2006
28 nov. 2006 à 15:22
C'est OK !

$annonce = htmlspecialchars($contenu, ENT_QUOTES);

En fait c'était les apostrophes qui posaient problème. Il faut ajouter ce que P@ a dit + ENT_QUOTES pour que sa marche.

Merci à tous et surtout à P@.

Le problème est résolu !
0
P@ Messages postés 1709 Date d'inscription vendredi 7 juillet 2000 Statut Membre Dernière intervention 24 mars 2009 186
28 nov. 2006 à 17:10
cool,
félicitation
0