PHP/ Lecture de guillemets dans un input ! - impossible de lire un text précédé de '

Bonjour,

j’ai un petit soucis…

Je fait une requete sur ma table


sql = "SELECT * FROM formation ORDER BY id DESC";

Et je vais recupérer les données dans des champs text : <INPUT TYPE=‘text’>

L’objectif pour moi étant de pouvoir modifier mes champs à partir de ces <INPUT TYPE=‘text’>

Tout marche très bien… mais… lorsque j’ai un mot du genre “d’absence” qui contient une guillemet, tout le text qui suis la guillemet n’apparait pas dans mon champ Text…

Cependant l’insertion dans ma table ce passe très bien…

Comment puis je faire pour lire les Guillemets dans mes champs Textes ???

Voici mon code :


while($data = mysql_fetch_array($req)) 
    { 
	$id=$data['id'];
	$date_debut=$data['date_debut'];
	$dure=$data['dure'];
	$intitule=$data['intitule'];
	
	$date_debut = ereg_replace('^([0-9]{2,4})-([0-9]{1,2})-([0-9]{1,2})$','\3.\2.\1', $date_debut);


echo '<form method="post" action="modif.php3">';

echo "<INPUT TYPE='hidden' NAME='id' VALUE='".$id."' style='font-family: verdana; font-size: 11;'>";
echo "<INPUT TYPE='text' NAME='date_debut' VALUE='".$date_debut."' style='font-family: verdana; font-size: 11; font-weight: bold;'>        ";
echo "<INPUT TYPE='text' NAME='dure' VALUE='".$dure."' style='font-family: verdana; font-size: 11;'>";
echo "<br><INPUT TYPE='text' NAME='intitule' VALUE='".$intitule."' size='48' style='font-family: verdana; font-size: 12;'><br>";
echo '<INPUT TYPE=SUBMIT NAME="suppr" VALUE="Supprimer"  style="position:absolute; left:248px;">';
echo '<INPUT TYPE=SUBMIT NAME="modif" VALUE="Modifier">';
echo "<p>";
echo "<br>";
echo '</form>';

C’est peut être qu’en html les attributs sont entre " et pas entre ’ :slight_smile:

Utilise htmlentities pour remplacer les caractères spéciaux en entités HTML.

htmlspecialchars surtout.

Saluton,

Ah, pour une fois je ne suis pas d’accord avec Sans-Nom.

Qui peut le plus, peut le moins et htmlentities fait plus que htmlspecialchars.

De toutes façons, l’une comme l’autre de ces fonctions requièrent un paramètre quote_style pour savoir comment traiter les 'et les &quot;.

Déjà c’est Salutation, ensuite quand on a veillé à mettre l’encodage dans l’entête xml (encoding=“iso-gna-gna”), ou dans un tag meta, le navigateur n’a pas besoin de ces entités, et donc htmlentities c’est plus de travail pour rien…

Sans oublier que déjà php travaille par défaut en iso-8859-1 et sert les pages comme telle… D’où : é -> &ecute; == inutile la plupart du temps.

Désolé, mais Saluton c’est ma façon de saluer, en espéranto.

Je note aussi cette furtive concession : inutile la plupart du temps, mais il est vrai que tu annonces la couleur Méchant, cynique, irascible, et de mauvaise foi (et fier de l’être) !

Ben la mauvaise foi c’est dans la nature humaine :slight_smile:

Disons alors que tu fais preuve d’une grande humanité. :slight_smile: