Liens...

Sniark Messages postés 90 Date d'inscription mercredi 4 juillet 2007 Statut Membre Dernière intervention 22 septembre 2009 - 17 août 2007 à 15:41
amezghal Messages postés 385 Date d'inscription lundi 27 février 2006 Statut Membre Dernière intervention 21 août 2015 - 17 août 2007 à 19:30
Bonjour à tous,

Je cherche à faire appraitre un lien en fonction de l'option choisie par l'utilisateur. J'ai trois options, et en fonction de la sélection, le texte qui s'affiche doit renvoyer vers un lien différent. Le problème est que je ne sais pas comment définir un lien en php. Je ne sais pas où le mettre.... Je suis débutant  
Ensuite, je ne suis pas sûr de l'endroit où je doit mettre session start, je pensais qu'il fallait mettre :
<?php session_start(); ?> tout en haut de la page, mais le nvigateur m'indique toujours une erreur....

Quelqu'un peut m'aider ???

Merci à tous !

<?php session_start();?>

<?php if ($_SESSION['etape']=="5")
{
echo "etape n°2";
}
elseif ($_SESSION['etape']=="4")
{
echo "etape n°3";
}
elseif ($_SESSION['etape']=="5")
{
echo "etape n°4";
}
?>
<form name="form1" method="post" action="">
  <label>Etape
  <select name="etape" id="etape">
    <option value="3">3</option>
    <option value="4">4</option>
    <option value="5">5</option>
  </select>
  </label>
  <label>
 
  </label>
</form>

6 réponses

cs_sebastien_et_typh Messages postés 289 Date d'inscription jeudi 5 octobre 2006 Statut Membre Dernière intervention 11 juin 2010 3
17 août 2007 à 15:54
le session start doit etre ta premiere ligne de code ou alor il ne faut pas qu'il y ait d'echo avant ou d'affichage de texte

ensuite pour definir un lien en php tu ecrit :
echo "ton lien ";
j'espere t'avoir aider


Personne ne peut se permettre de juger l'autre....
0
kishkaya Messages postés 365 Date d'inscription samedi 26 juin 2004 Statut Membre Dernière intervention 17 avril 2008
17 août 2007 à 15:57
Bonjour,
Donne nous l'erreur que t'as. Il se peut que ca vienne du fait que t'ai déjà envoyer du HTML ou une entête... Si tu utilise des sessions basée sur cookie (tu peux aussi passez par le SID) tu doit mettre session_start() avant tout envoie de caractere (même un saut de ligne ou un espace).
Tu peux aussi utiliser ob_start() et ob_end_flush pour mettre en buffer la page et l'envoyer apres.

Sinin il n'y a pas de maniere de creer un lien en php, c'est toujours du html qui est utilisé.
echo '[adresse.php Click ici]';

Mais ici tu utilise un formulaire l'attribut action de la balise form te renvoie directement sur une page quand tu le "submit".
action="traitement.php" enverra tes données avec la methode POST à l apage traitement.php.
A toi de faire une page traitement.php qui récupere quel bouton a été cliqué avec la variable $_POST['etape'];

Donc ic c'est pas $_SESSION qu'il faut utiliser mais plutot $_POST.
les sessions c'est quelque chose d'autre =)
_Marikou
0
kishkaya Messages postés 365 Date d'inscription samedi 26 juin 2004 Statut Membre Dernière intervention 17 avril 2008
17 août 2007 à 15:59
Je pense que t'as pas résolu ton probleme, change $_SESSION en $_POST et enleve le session_start et ton script marchera ;).

_Marikou
0
Sniark Messages postés 90 Date d'inscription mercredi 4 juillet 2007 Statut Membre Dernière intervention 22 septembre 2009
17 août 2007 à 16:20
Voilà ce qu'il me répond...

Notice: Undefined index: etape in c:\easyphp1-8\www\testetape.php on line 19

Notice: Undefined index: etape in c:\easyphp1-8\www\testetape.php on line 23

Notice: Undefined index: etape in c:\easyphp1-8\www\testetape.php on line 27

Voilà mon code :

<?php session_start(); ?>


<form name="form1" method="post" action="">
  <label>Etape
  <select name="etape" id="etape">
    <option value="3">3</option>
    <option value="4">4</option>
    <option value="5">5</option>
  </select>
  </label>
  <label>
 
  </label>
</form>


 




<?php if ($_POST['etape']=="5")
{
echo "Etape 2";
}
elseif ($_POST['etape']=="4")
{
echo "Etape 2";
}
elseif ($_POST['etape']=="3")
{
echo "Etape 2";
}
?>

J'utlisise des cookies effectivement... Je commence par session_start(), je comprends pas ce qui fonctionne pas....
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_sebastien_et_typh Messages postés 289 Date d'inscription jeudi 5 octobre 2006 Statut Membre Dernière intervention 11 juin 2010 3
17 août 2007 à 16:33
tu a essayer de mettre <?php if ($POST){
et dedans toutes tes conditions
je ne sais pas si ca va t'aider


Personne ne peut se permettre de juger l'autre....
0
amezghal Messages postés 385 Date d'inscription lundi 27 février 2006 Statut Membre Dernière intervention 21 août 2015 5
17 août 2007 à 19:30
salut
essaye de mettre le nom du script de l'attribut 'action'
<form method="post" action="testetape.php">
0
Rejoignez-nous