[php] je ne comprends pas pourquoi ca marche
moicjm
-
A.Nonymous -
A.Nonymous -
Avec ces codes, rien ne s'écrit. Et si j'enleve les isset, là il ya un message d'erreur... Voici les codes: merci d'avance!
HTML:
<form action="traitement.php" method="post">
<p>
<label>Prénom:<input type="text" name="prenom" size="30"/></label> <br/>
<label>Nom: <input type="text" name="nom" size="30"/></label><br/></p></form>
PHP:
<p>Merci <?php if (isset($_POST['prenom'])) { echo $_POST['prenom']; } ?> <?php if (isset($_POST['nom'])) { echo $_POST['nom']; } ?>!<br/>
HTML:
<form action="traitement.php" method="post">
<p>
<label>Prénom:<input type="text" name="prenom" size="30"/></label> <br/>
<label>Nom: <input type="text" name="nom" size="30"/></label><br/></p></form>
PHP:
<p>Merci <?php if (isset($_POST['prenom'])) { echo $_POST['prenom']; } ?> <?php if (isset($_POST['nom'])) { echo $_POST['nom']; } ?>!<br/>
A voir également:
- [php] je ne comprends pas pourquoi ca marche
- Easy php - Télécharger - Divers Web & Internet
- Expert php pinterest - Télécharger - Langages
- Retour a la ligne php - Forum Webmastering
- Alert php - Forum PHP
- Retour a la ligne php ✓ - Forum PHP
4 réponses
tu as bien 2 fichiers séparés ?
le premier avec le code html et le 2° avec le code php ?
si ce n'est pas le cas, ça ne peut pas marcher : le php ne peut pas deviner ce qui a été saisi...
le premier avec le code html et le 2° avec le code php ?
si ce n'est pas le cas, ça ne peut pas marcher : le php ne peut pas deviner ce qui a été saisi...
alors :
- le faire en deux fichiers (pas fforcéments html et php, peuvent être tous deux php) pourquoi pas... c'est plus propre quand il y a beaucoup de code (MVC...) mais sinon c'est carrément pas indispensable !
- isset($var) teste si la variable $var EXISTE, ça ne teste pas sa valeur !!
pour tester qu'une variable est vide, tu peux tester comme cela : if( $var == "") {...} c'est la chaine vide. Et en php5, tu peux tester plus proprement encore : if($var == null) {...}
DONC :
-c'est tout à fait normal que ton prog plante si tu retires "isset" car l'interpréteur php lit une variable qui n'existe pas (pas déclarée)
- de plus la balise input n'est pas censée s'imbiquer dans la balise label, qui ne sert d'ailleurs pas à grand chose si tu ne lui associes pas de touche d'accès....
-pour le cas ou; teste la totalité de tes variables POST :
forEach($_POST as $key => $value} {
echo "clé : ".$key." | valeur : ".$value."<br/>";
}
- le faire en deux fichiers (pas fforcéments html et php, peuvent être tous deux php) pourquoi pas... c'est plus propre quand il y a beaucoup de code (MVC...) mais sinon c'est carrément pas indispensable !
- isset($var) teste si la variable $var EXISTE, ça ne teste pas sa valeur !!
pour tester qu'une variable est vide, tu peux tester comme cela : if( $var == "") {...} c'est la chaine vide. Et en php5, tu peux tester plus proprement encore : if($var == null) {...}
DONC :
-c'est tout à fait normal que ton prog plante si tu retires "isset" car l'interpréteur php lit une variable qui n'existe pas (pas déclarée)
- de plus la balise input n'est pas censée s'imbiquer dans la balise label, qui ne sert d'ailleurs pas à grand chose si tu ne lui associes pas de touche d'accès....
-pour le cas ou; teste la totalité de tes variables POST :
forEach($_POST as $key => $value} {
echo "clé : ".$key." | valeur : ".$value."<br/>";
}
salut,
ce bout de code à l'air de marcher. je l'ai copié tel quel, et ca marche : je mets un nom et un prenom, il m'affiche Merci prenom nom ! et si je mets rien il affiche juste Merci ! et j'ai pas d'erreur.
ton problème est peut-être lié avec ce que tu as écrit plus haut dans ton code (la partie que tu n'as pas montrée).
bonne continuation.
ce bout de code à l'air de marcher. je l'ai copié tel quel, et ca marche : je mets un nom et un prenom, il m'affiche Merci prenom nom ! et si je mets rien il affiche juste Merci ! et j'ai pas d'erreur.
ton problème est peut-être lié avec ce que tu as écrit plus haut dans ton code (la partie que tu n'as pas montrée).
bonne continuation.
La fonction 'isset' de Php est un test sur l'existence d'une variable.
La portion de code suivante signifie :
-------------------------------
<?php
if (isset($_POST['prenom'])) { // Si la variable $_POST['prenom'] existe
echo $_POST['prenom']; // alors afficher la valeur de $_POST['prenom']
}
?>
-------------------------------
Si ça marche sans faire d'erreur, c'est grâce justement à la fonction 'isset' ...
(Lire le manuel Php de temps en temps ne ferait pas de mal (rtfm comme certains diraient ;) ))
La portion de code suivante signifie :
-------------------------------
<?php
if (isset($_POST['prenom'])) { // Si la variable $_POST['prenom'] existe
echo $_POST['prenom']; // alors afficher la valeur de $_POST['prenom']
}
?>
-------------------------------
Si ça marche sans faire d'erreur, c'est grâce justement à la fonction 'isset' ...
(Lire le manuel Php de temps en temps ne ferait pas de mal (rtfm comme certains diraient ;) ))
un pour le HTML et un autre pour le php.
Pourrais tu marquer ton message d'erreur s'il te plait (avec exactitude)
Notice : undefine index: prenom [chemin] line 21
par :
ca donne quoi ?
Aussi, renseigne le champ 'id' de tes input avec pour identifiant le name, ex : <input type='text' id='prenom' name='prenom' >
je comprends pas!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!