La méthode $_POST et l'espace

achou -  
Reivax962 Messages postés 3672 Date d'inscription   Statut Membre Dernière intervention   -
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

A voir également:

1 réponse

Pitet Messages postés 2826 Date d'inscription   Statut Membre Dernière intervention   527
 
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
achou
 
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   Statut Membre Dernière intervention   527
 
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
achou
 
Bonjour,
j'ai essayé avec votre solution mais le même problème.
0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 753 > achou
 
Bonjour
Peux tu nous montrer ton code modifié ?
0
achou
 
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