Julien_B Posté 7 Janvier 2006 Posté 7 Janvier 2006 Hello, Je récupère sur une page php les variables d'un formulaire. ex : Si le choix du fruit dans le formulaire est "fraise" Sur la page php qui récupère le formulaire, j'ai : <?php echo $_POST['fruit'] ?> ce qui donne le texte : "fraise" en admettant que l'utilisateur arrive directement sur la page php sans être passé par le formulaire, donc aucune variable étant renseignée, je souhaiterais quand même qu'un texte s'affiche : "aucun fruit" Pourriez-vous m'aider ? J'espère que je me suis bien exprimé, et je vous remercie de votre attention !
Sarc Posté 7 Janvier 2006 Posté 7 Janvier 2006 Bonjour, Tu t'es bien exprimé, et très bon exemple, j'aime bien manger.. <?php if (isset($_POST['fruit'])) $fruit = $_POST['fruit'];else $fruit = "aucun fruit";echo $fruit; ?> Voilà
Julien_B Posté 7 Janvier 2006 Auteur Posté 7 Janvier 2006 lol Merci beaucoup !.. ça marche nickel ! par contre, j'ai essayé de faire une modif et ça me plante tout... Vois-tu une erreure ci-dessous ? <?php if (isset($_POST['fruit'])) $fruit = $_POST['fruit']; else $fruit = "fraise"; echo ('fruit & fruit vous propose '$fruit''); ?> Thx
Dan Posté 7 Janvier 2006 Posté 7 Janvier 2006 Dans ton dernier echo.... Il faut mettre : <?php if (isset($_POST['fruit'])) $fruit = $_POST['fruit']; else $fruit = "fraise"; print "fruit & fruit vous propose ".$fruit."<br>";?>
Sarc Posté 7 Janvier 2006 Posté 7 Janvier 2006 C'est ta syntaxe de echo qui ne va pas... Tu as deux syntaxes différentes quand tu mets une variable dedans : echo "Salut, ceci est une $variable"; ou echo 'Salut, ceci est une '.$variable; Entre guillemets ", tu peux mettre des variables. Avec apostrophes ', tu ne peux pas mettre de variables, il faut donc fermer, et mettre un point . pour mettre la variable ensuite... Edit : Grillé par Dan pour changer
Julien_B Posté 7 Janvier 2006 Auteur Posté 7 Janvier 2006 Merci bcp à vous 2 !!! ça marche nickel Bonne continuation
Julien_B Posté 7 Janvier 2006 Auteur Posté 7 Janvier 2006 désolé, je vais corser un petit peu la chose (enfin pour moi.. pour vous ce doit être toujours aussi simple ) Si la personne vient du formulaire et qu'elle choisi fraise : sur la page php : Vous avez choisi la fraise Si la personne vient directement sur la page php sans passer par le formulaire : sur la page php : aucun fruit ! j'ai essayé en faisant ça : <?php if (isset($_POST['fruit'])) echo 'vous avez choisi la'.$fruit ; else echo 'aucun fruit'?> mais ça ne marche pas (du moins en venant par le formulaire) Merci bcp !!!
Sarc Posté 7 Janvier 2006 Posté 7 Janvier 2006 <?php if (isset($_POST['fruit'])) echo 'vous avez choisi la'.$_POST['fruit']; else echo 'aucun fruit'?> ? Ta variable $fraise n'avait pas de valeur là...
Julien_B Posté 7 Janvier 2006 Auteur Posté 7 Janvier 2006 ok.... ça marche... on a fait le tour, merci bcp pour votre aide
Anonymus Posté 9 Janvier 2006 Posté 9 Janvier 2006 else echo 'aucun fruit'?> else $fruit = "aucun fruit"; Surtout, gardes toujours la même synthaxe. Certains sont 'pour' les guillemets simples, d'autres pour les guillemets double. Dans tous les cas, quelque soit ton choix, ne changes pas, surtout dans la même page. Sinon, tu ne sauras jamais quelle a été la synthaxe que tu as utilisé 2 lignes plus haut, et tu risques de perdre du temps à débugger pour rien. (cependant, j'aime bien les double quote )
Julien_B Posté 14 Janvier 2006 Auteur Posté 14 Janvier 2006 <?php if (isset($_POST['fruit'])) echo 'vous avez choisi la'.$_POST['fruit']; else echo 'aucun fruit'?> ? Ta variable $fraise n'avait pas de valeur là... <{POST_SNAPBACK}> Hello, Désolé de faire remonter ce topic, mais il y a encore un petit point qui pose problème : Quand on arrive directement sur la page php sans passer par le formulaire, ça marche.... Mais si on passe par le formulaire, et sans remplir le champ, on tombe sur la page php avec le texte : vous avez choisi la or, j'aurais souhaiter le texte : aucun fruit Bizarre... comme si en passant par le formulaire, la page php prend la variable "fruit" même si elle est nulle Une idée ? merci
Antoine Cailliau Posté 14 Janvier 2006 Posté 14 Janvier 2006 En effet, il ne faut pas tester si la variable est définie (ce qu'elle est puisque elle est définie et contient la chaine "") Si tu veux tester si la chaine existe et si elle est définie, il suffit d'appeller la méthode empty <?php if (isset($_POST['fruit'])) echo 'vous avez choisi la'.$_POST['fruit']; else echo 'aucun fruit'?> deviendra <?php if (!empty($_POST['fruit'])) echo 'vous avez choisi la'.$_POST['fruit']; else echo 'aucun fruit'?> > http://be.php.net/manual/en/function.empty.php
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant