La méthode $_POST et l'espace

Fermé
achou - 10 janv. 2017 à 11:52
Reivax962 Messages postés 3671 Date d'inscription jeudi 16 juin 2005 Statut Membre Dernière intervention 11 février 2021 - 12 janv. 2017 à 12:28
Bonjour,

j'ai un petit problème, lorsque je fait $_POST à une chaine de caractère avec espace la de caractère sera couper.
Par exemple
x=comment ça marche;
$x=$_POST['x'];
echo"$x";
Le résultat affiché est: comment
Merci pour m'aider pour résoudre ce problème

1 réponse

Pitet Messages postés 2826 Date d'inscription lundi 11 février 2013 Statut Membre Dernière intervention 21 juillet 2022 524
Modifié par Pitet le 10/01/2017 à 12:16
Salut,

D'où vient le
x=comment ça marche;
sur la première ligne de ton code ?

Les espaces sont bien conservés dans les paramètres post :
<?php
if (!empty($_POST['x'])) {
 $x = $_POST['x'];
 echo $x; // affiche "Comment ça marche"
}
?>

<form method="post">
 <input type="text" name="x" value="Comment ça marche">
 <input type="submit">
</form>


Bonne journée,
0
salut,
voila exactement mon code

<select name='x">(niveau 2)



<OPTION value=<?php echo"$x"?> > <?echo"$x"?> </OPTION>
<?php

$SQL = "SELECT n, p from em where nd = '$nom_grade' "; //$nom_grade(valeur d'une select niveau 1)
$res = mysql_query($SQL);

while($val1=mysql_fetch_array($res))
{
echo "<option>".$val1["p"]."--".$val1["n"]."</option>\n";

}

$x=$_POST['x'];

?>

</select>
lorsque je change la valeur du select niveau 1 la chaine de caractère est affiché avec l'espace ,et lorsque je change la valeur du select de niveau 3 la chaine couper dans l'espace.
0
Pitet Messages postés 2826 Date d'inscription lundi 11 février 2013 Statut Membre Dernière intervention 21 juillet 2022 524
Modifié par Pitet le 10/01/2017 à 16:12
Le problème semble venir du fait que la valeur de l'attribut value de la balise option n'est pas entourée par des guillemets :
<OPTION value="<?php echo $x; ?>"><?php echo $x; ?></OPTION> 


Le résultat attendu doit être :
<OPTION value="Comment ca marche">Comment ca marche</OPTION> 
et non
<OPTION value=Comment ca marche>Comment ca marche</OPTION> 
0
Bonjour,
j'ai essayé avec votre solution mais le même problème.
0
jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 4 650 > achou
11 janv. 2017 à 09:01
Bonjour
Peux tu nous montrer ton code modifié ?
0
voila le code modifié

<OPTION value=<?php echo $x ;?> > <?echo $x ; ?> </OPTION>
<?php

$SQL = "SELECT n, p from em where nd = '$nom_grade' "; //$nom_grade(valeur d'une select niveau 1)
$res = mysql_query($SQL);

while($val1=mysql_fetch_array($res))
{
echo "<option>".$val1["p"]."--".$val1["n"]."</option>\n";

}

$x=$_POST['x'];

?>

</select>
0