Variable en PHP

Résolu
otakuu Messages postés 302 Date d'inscription   Statut Membre Dernière intervention   -  
otakuu Messages postés 302 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

voila mon code :

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
<head>
<title>Mini chat</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
</head>
<body>




<?php
echo $_POST['pseudo'];

?>

<form action="minichat.php" method="post">

<p>
Pseudo : <input type="text" name="pseudo" /><br />
Message : <input type="text" name="message" /><br />

<input type="submit" value="Envoyer" />
</p>

</form>


</body>
</html>

je ne comprend pas pour quoi sa me fait une erreur qui me dit qu'elle connait pas "pseudo".
sa doit etre un truc bete mais sa fait deja un moment que je me casse la tete dessus et sa donne rien.
merci de me voir l'erreur si vous y parvenez.

6 réponses

Alain_42 Messages postés 5361 Date d'inscription   Statut Membre Dernière intervention   894
 
il faut tester si elle existe avant


<?php
if(isset($_POST['pseudo'])) { echo $_POST['pseudo']; }

?> 


tiens en passant un truc pour que la valeur reste affichée dans ton formulaire aprsènle rechargement de la page:

<?php
// la même chose mais en méthode ternaire et qui donne une valeur par defaut = a vide pour le premier chargement de la page
//ça se lit : si la variable $_POST['pseudo'] existe, alors $pseudo=$_POST['pseudo'] sinon : $pseudo= vide
$pseudo=isset( $_POST['pseudo']) ? $_POST['pseudo']) : "";
$message=isset( $_POST['message']) ? $_POST['message']) : "";
?>

<form name="form1" action="minichat.php" method="post">

<p>
Pseudo : <input type="text" name="pseudo"  value="<?php echo $pseudo; ?> /><br />
Message : <input type="text" name="message"  value="<?php echo $message; ?> /><br />

<input type="submit" name="envoyer" value="Envoyer" />
</p>

</form>


</body>
</html> 



remarque, dans les balises <form, input etc.... prend l'habitude de mettre tous les arguments
1
otakuu Messages postés 302 Date d'inscription   Statut Membre Dernière intervention   38
 
merci pour votre réponse
là j'ai plus d'erreur mais le message que j'ecris ne s'affiche pas.

code :

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
<head>
<title>Mini-chat</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
</head>
<style type="text/css">
form
{
text-align:center;
}
</style>
<body>

<?php

$pseudo=isset( $_POST['pseudo']) ? ($_POST['pseudo']) : "";

?>



<form name="form1" action="minichat.php" method="get">

<p>
Pseudo : <input type="text" name="pseudo" /> <?php echo $pseudo?> <br />

<input type="submit" value="Envoyer" />
</p>

</form>

</body>
</html>
0
dragondark Messages postés 465 Date d'inscription   Statut Membre Dernière intervention   159
 
change la methode en post

<form name="form1" action="minichat.php" method="post">


ou le test en get

$pseudo=isset( $_GET['pseudo']) ? ($_GET['pseudo']) : ""; 


Cordialement
Dragondark de lonlindil
0
Alain_42 Messages postés 5361 Date d'inscription   Statut Membre Dernière intervention   894
 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
<head>
<title>Mini-chat</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
</head>
<style type="text/css">
form
{
text-align:center;
}
</style>
<body>

<?php

$pseudo=isset( $_POST['pseudo']) ? ($_POST['pseudo']) : "";
echo $pseudo;

?>



<form name="form1" action="minichat.php" method="get"> tu utilises la methode GET et tu recupères en POST !!

<p>
Pseudo : <input type="text" name="pseudo"  value="<?php echo $pseudo; ?>" /><br />
regardes ce que je t'ai mis dans l'exemple il faut value="..." et dans la balise <inpu     />, pas en dehors

<input type="submit" value="Envoyer" />
</p>

</form>

</body>
</html>
0

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

Posez votre question
otakuu Messages postés 302 Date d'inscription   Statut Membre Dernière intervention   38
 
oups finalement y'a quelque chose qui s'affiche mais dans la barre d'adresse comme suit :
http://localhost/minichat/minichat.php?pseudo=hello+world
mais ... euh ... pour quoi il s'affiche la alors que je le voulais dans la page web?
0
otakuu Messages postés 302 Date d'inscription   Statut Membre Dernière intervention   38
 
ah oué desolé pour l'erreur j'ai pas fait attention!
Mille Merci c'est super gentil de m'avoir aider
0