Version complète: sur le forum Webmaster Hub : Débutant en php
Webmaster Hub > Création et exploitation de Sites Internet > Les langages du Net > PHP
Julien_B
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
Bonjour,

Tu t'es bien exprimé, et très bon exemple, j'aime bien manger..

CODE
<?php
if (isset($_POST['fruit'])) $fruit = $_POST['fruit'];
else $fruit = "aucun fruit";

echo $fruit;

?>


Voilà wink.gif
Julien_B
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
Dans ton dernier echo....
Il faut mettre :
CODE
<?php
if (isset($_POST['fruit']))
   $fruit = $_POST['fruit'];
else
   $fruit = "fraise";
print "fruit & fruit vous propose ".$fruit."<br>";
?>
sarc
C'est ta syntaxe de echo qui ne va pas...
Tu as deux syntaxes différentes quand tu mets une variable dedans :

CODE
echo "Salut, ceci est une $variable";


ou

CODE
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... wink.gif

Edit : Grillé par Dan pour changer tongue.gif
Julien_B
Merci bcp à vous 2 !!!

ça marche nickel tongue.gif

Bonne continuation smile.gif
Julien_B
désolé, je vais corser un petit peu la chose (enfin pour moi.. pour vous ce doit être toujours aussi simple tongue.gif)

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
CODE
<?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
ok.... ça marche... on a fait le tour, merci bcp pour votre aide smile.gif
Anonymus
CODE
else echo 'aucun fruit'?>

CODE
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 whistling.gif )
Julien_B
CITATION(sarc @ samedi 07 janvier 2006, 22h56)
CODE
<?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à...
*


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 blink.gif

Une idée ?

merci smile.gif
Antoine Cailliau
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

CODE
<?php if (isset($_POST['fruit'])) echo 'vous avez choisi la'.$_POST['fruit']; else echo 'aucun fruit'?>


deviendra
CODE
<?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
Ceci est une version "bas débit" de notre forum. Pour voir la version complète avec plus d'information, la mise en page et les images, veuillez cliquer ici.