Aller au contenu

Débutant en php


Julien_B

Sujets conseillés

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 !

Lien vers le commentaire
Partager sur d’autres sites

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à ;)

Lien vers le commentaire
Partager sur d’autres sites

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

Lien vers le commentaire
Partager sur d’autres sites

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>";
?>

Lien vers le commentaire
Partager sur d’autres sites

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 :P

Lien vers le commentaire
Partager sur d’autres sites

désolé, je vais corser un petit peu la chose (enfin pour moi.. pour vous ce doit être toujours aussi simple :P)

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 !!!

Lien vers le commentaire
Partager sur d’autres sites

<?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à...

Lien vers le commentaire
Partager sur d’autres sites

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 :whistling: )

Lien vers le commentaire
Partager sur d’autres sites

<?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 :blink:

Une idée ?

merci :)

Lien vers le commentaire
Partager sur d’autres sites

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

Lien vers le commentaire
Partager sur d’autres sites

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...