Php et les formulaires
Steff
-
PhP Messages postés 1774 Statut Membre -
PhP Messages postés 1774 Statut Membre -
Bonjour
Désolé mais je vais encore vous embêter avec une question fatalement, bête.
Voilà j'ai un formulaire :
Dans mo_form.php, j'écris echo $_POST["$IdLivre"]; et là page blanche, quelle énorme erreur ais-je fait?
Quelqu'un peut-il me renseigner ?
Merci
Cordialement
Steff
http://www.c-comnet.com
Désolé mais je vais encore vous embêter avec une question fatalement, bête.
Voilà j'ai un formulaire :
<form action="mo_form.php" method="post" name="EnvoForm"> <input type="Hidden" name="IdLivre" value="2"> </form>
Dans mo_form.php, j'écris echo $_POST["$IdLivre"]; et là page blanche, quelle énorme erreur ais-je fait?
Quelqu'un peut-il me renseigner ?
Merci
Cordialement
Steff
http://www.c-comnet.com
A voir également:
- Php et les formulaires
- Easy php - Télécharger - Divers Web & Internet
- Expert php pinterest - Télécharger - Langages
- Formulaire rempli et signé - Guide
- Retour à la ligne php ✓ - Forum PHP
- Retour a la ligne avec Echo comment faire ? - Forum Webmastering
7 réponses
Bonjour Steff
Dans ton exemple la page mo_form.php récupère bien la valeur du champ dans la variable IdLivre qui vaut normalement 2.
L'accès à cette variable peut effectivement se faire via le tableau superglobal $_POST[]
Cependant comme tu utilises des guillemets doubles, PHP opère alors une substitution
Comme PHP (sauf paramètrage contraire) a également créé la variable $IdLivre
$_POST["$IdLivre"] équivaut à $_POST["2"] qui lui n'est peut être pas défini.
Pour récuperer le contenu de IdLivre tu peux écrire :
$_POST[IdLivre] ou $_POST["IdLivre"] ou encore $_POST['IdLivre'] ou utiliser directement $IdLivre (moins sécurisé).
Ex :
Tu noteras que les 2 dernières syntaxes ne renvoient rien !
Nota : seuls les guillemets doubles (") entrainent la substitution.
Avec des guillemets simples (') la chaîne est traitée telle quelle.
@+
PhP [Push the button,Don't push the
. button,Trip the station,Change the channel]
Dans ton exemple la page mo_form.php récupère bien la valeur du champ dans la variable IdLivre qui vaut normalement 2.
L'accès à cette variable peut effectivement se faire via le tableau superglobal $_POST[]
Cependant comme tu utilises des guillemets doubles, PHP opère alors une substitution
Comme PHP (sauf paramètrage contraire) a également créé la variable $IdLivre
$_POST["$IdLivre"] équivaut à $_POST["2"] qui lui n'est peut être pas défini.
Pour récuperer le contenu de IdLivre tu peux écrire :
$_POST[IdLivre] ou $_POST["IdLivre"] ou encore $_POST['IdLivre'] ou utiliser directement $IdLivre (moins sécurisé).
Ex :
<html> <body> $IdLivre=<? echo $IdLivre; ?><br> $IdLivre=<? echo "$IdLivre"; ?><br> $IdLivre=<? echo '$IdLivre'; ?><br> $_POST[IdLivre]=<? echo $_POST[IdLivre]; ?><br> $_POST['IdLivre']=<? echo $_POST['IdLivre']; ?><br> $_POST["IdLivre"]=<? echo $_POST["IdLivre"]; ?><br> $_POST["$IdLivre"]=<? echo $_POST["$IdLivre"]; ?><br> $_POST['$IdLivre']=<? echo $_POST['$IdLivre']; ?><br> </body> </html>
Tu noteras que les 2 dernières syntaxes ne renvoient rien !
Nota : seuls les guillemets doubles (") entrainent la substitution.
Avec des guillemets simples (') la chaîne est traitée telle quelle.
@+
PhP [Push the button,Don't push the
. button,Trip the station,Change the channel]
Salut,
Le Input type=submit manquant, c'est volontaire ?
Kalamit,
Parle à ma culasse, mon carter est malade. :)
<form action="mo_form.php" method="post" name="EnvoForm"> <input type="Hidden" name="IdLivre" value="2"> </form>
Le Input type=submit manquant, c'est volontaire ?
Kalamit,
Parle à ma culasse, mon carter est malade. :)
Bonjour
merci pour les réponses.
voici le résultat de
<html>
<body>
$IdLivre=<? echo $IdLivre; ?><br>
$IdLivre=<? echo "$IdLivre"; ?><br>
$IdLivre=<? echo '$IdLivre'; ?><br>
$_POST[IdLivre]=<? echo $_POST[IdLivre]; ?><br>
$_POST['IdLivre']=<? echo $_POST['IdLivre']; ?><br>
$_POST["IdLivre"]=<? echo $_POST["IdLivre"]; ?><br>
$_POST["$IdLivre"]=<? echo $_POST["$IdLivre"]; ?><br>
$_POST['$IdLivre']=<? echo $_POST['$IdLivre']; ?><br>
</body>
</html>
=>
$IdLivre=
$IdLivre=
$IdLivre=$IdLivre
$_POST[IdLivre]=
$_POST['IdLivre']=
$_POST["IdLivre"]=
$_POST["$IdLivre"]=
$_POST['$IdLivre']=
Quant au fait qu'il n'y ait pas de submit : je submit le formulaire par un javascript car je donne via le javascript la valeur à IdLivre.
Ayez pitié, aidez un mec désespéré.
Merci
Cordialement
Steff
merci pour les réponses.
voici le résultat de
<html>
<body>
$IdLivre=<? echo $IdLivre; ?><br>
$IdLivre=<? echo "$IdLivre"; ?><br>
$IdLivre=<? echo '$IdLivre'; ?><br>
$_POST[IdLivre]=<? echo $_POST[IdLivre]; ?><br>
$_POST['IdLivre']=<? echo $_POST['IdLivre']; ?><br>
$_POST["IdLivre"]=<? echo $_POST["IdLivre"]; ?><br>
$_POST["$IdLivre"]=<? echo $_POST["$IdLivre"]; ?><br>
$_POST['$IdLivre']=<? echo $_POST['$IdLivre']; ?><br>
</body>
</html>
=>
$IdLivre=
$IdLivre=
$IdLivre=$IdLivre
$_POST[IdLivre]=
$_POST['IdLivre']=
$_POST["IdLivre"]=
$_POST["$IdLivre"]=
$_POST['$IdLivre']=
Quant au fait qu'il n'y ait pas de submit : je submit le formulaire par un javascript car je donne via le javascript la valeur à IdLivre.
Ayez pitié, aidez un mec désespéré.
Merci
Cordialement
Steff
Quant au fait qu'il n'y ait pas de submit : je submit le formulaire par un javascript car je donne via le javascript la valeur à IdLivre.
Bah, il est surement la ton probleme !
Mets un submit bidon pour tester. Tu verras si ca fonctionne ou pas. :)
Kalamit,
Parle à ma culasse, mon carter est malade. :)
Bah, il est surement la ton probleme !
Mets un submit bidon pour tester. Tu verras si ca fonctionne ou pas. :)
Kalamit,
Parle à ma culasse, mon carter est malade. :)
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bonjour
Un miracle de la science, sans doute, désormais avec $_POST['IdLivre'] je récupère ma valeur. Merci à tous pour votre aide.
Merci
Cordialement
Un miracle de la science, sans doute, désormais avec $_POST['IdLivre'] je récupère ma valeur. Merci à tous pour votre aide.
Merci
Cordialement
Bonjour
J'ai un petit formulaire. Je récupère bien mes données.
Sauf que lorsque j'écris un contenu du genre Jungle's Book dans ma page récapitulative j'obtiens Jungle\'s Book et quand je repasse de ma page récapitulative à mon formulaire j'obtiens Jungle\\\'s Book. Avant que je me tire une balle, quelqu'un peut-il m'aider?
Merci
Cordialement
Steff
J'ai un petit formulaire. Je récupère bien mes données.
Sauf que lorsque j'écris un contenu du genre Jungle's Book dans ma page récapitulative j'obtiens Jungle\'s Book et quand je repasse de ma page récapitulative à mon formulaire j'obtiens Jungle\\\'s Book. Avant que je me tire une balle, quelqu'un peut-il m'aider?
Merci
Cordialement
Steff
Bonsoir Steff,
Normal car PHP "escape" les variables passées par GET ou POST
(du moins lorsque le paramètre magic_quotes_gpc est activé , ce qui est le cas par défaut : à vérifier cependant)
Bref si on passe une variable nommée demo contenant "Jungle's book"
alors
<?echo $demo; ?> affiche Jungle\'s book
Pour avoir un affichage correcte il suffit d'enlever les slashs :
<? echo stripslashes($demo); ?> affiche Jungle's book
Faire également attention à ce que les variables ne contiennent pas non plus de code HTML (sauf si c'est voulu) !
@+
PhP [Push the button,Don't push the
. button,Trip the station,Change the channel]
Normal car PHP "escape" les variables passées par GET ou POST
(du moins lorsque le paramètre magic_quotes_gpc est activé , ce qui est le cas par défaut : à vérifier cependant)
Bref si on passe une variable nommée demo contenant "Jungle's book"
alors
<?echo $demo; ?> affiche Jungle\'s book
Pour avoir un affichage correcte il suffit d'enlever les slashs :
<? echo stripslashes($demo); ?> affiche Jungle's book
Faire également attention à ce que les variables ne contiennent pas non plus de code HTML (sauf si c'est voulu) !
@+
PhP [Push the button,Don't push the
. button,Trip the station,Change the channel]