Probleme de lien par liste box

Résolu
Signaler
Messages postés
85
Date d'inscription
samedi 20 novembre 2004
Statut
Membre
Dernière intervention
18 juin 2009
-
Messages postés
85
Date d'inscription
samedi 20 novembre 2004
Statut
Membre
Dernière intervention
18 juin 2009
-
salut tous le monde voila mon probleme: je cherche a faire des liens sur une page en fonction d'un liste box, l'utisateur fait un chois dans le liste box clic sur un boutton et sa lui ouvre la page qu'il a choisie dans la meme fenetre voici mon code.

----------------------------------------------------------------------------------------
<form name="form1" method="POST" action="<?php $varaction ?>">
<select name="select1">
<option selected>Entreprise</option>
<option>Commerce</option>
<option>Association</option>
</select>
<?php if ($optionselect1 =='Association')
{ $varaction='liste_asso.php' }
else if ($optionselect1 =='Commerce')
{ $varaction='liste_com.php' }
else if ($optionselect1 =='Entreprise')
{ $varaction='liste_ent.php'} ?>

</form>
----------------------------------------------------------------------------------------

sa ma met une erreur forbidden
You don't have permission to access ....

11 réponses

Messages postés
121
Date d'inscription
mardi 9 août 2005
Statut
Membre
Dernière intervention
18 décembre 2007

Essaies ça, peut etre ça marchera:

imaginons que ta page elle s'appelle mapage.php

<?php
if (isset($_POST['select1'])) {
$optionselect1 = @$_POST['select1'];
if ($optionselect1 =='Association')
{ $varaction='liste_asso.php' }
else if ($optionselect1 =='Commerce')
{ $varaction='liste_com.php' }
else if ($optionselect1 =='Entreprise')
{ $varaction='liste_ent.php'}

echo "<script language="JavaScript"> setTimeout ("window.location='$varaction'",5)</script>";
}
?>

<form name="form1" method="POST" action="mapapge.php">
<select name="select1" onChange="this.form.submit()">
<option selected>Entreprise</option>
<option>Commerce</option>
<option>Association</option>
</select>
</form>
Messages postés
2
Date d'inscription
mercredi 25 janvier 2006
Statut
Membre
Dernière intervention
25 janvier 2006

Heu...
ce que propose kgadhi, avec
echo "<script language="JavaScript"> setTimeout ("window.location='$varaction'",5)</script>";
ça fait un aller-retour serveur/browser, que tu peux éviter avec
header ("Location", $varaction);
Messages postés
1216
Date d'inscription
mardi 20 décembre 2005
Statut
Membre
Dernière intervention
18 octobre 2012
5
sans parler du forbidden,
essaie de regarder le source de la page affichée (la balise form)
je ne pense pas que tu puisses le faire en php
ce serait plutot javascript
Messages postés
2
Date d'inscription
mercredi 25 janvier 2006
Statut
Membre
Dernière intervention
25 janvier 2006

Salut !
Le pb, là, c'est que tu ne dois pas coder en PHP, mais en Javascript ! Le PHP, ça s'exécute sur le serveur, or toi tu veux un programme qui réagisse au choix de l'utilisateur, localement sur le PC
Essaye ça:
<html>

<form name="form1" method="GET" onsubmit="zyVa()" action="javascript:void(0)">
<select name="select1">
<option value="http://cheztoi.com/ent.html">Entreprise</option>
<option value="http://cheztoi.com/com.html">Commerce</option>
<option value="http://cheztoi.com/asso.html">Association</option>
</select>

</form>

<script>
function zyVa(){
document.location.href = document.forms.form1.select1.value;
}
</script>

</html>

et dis m'en des nouvelles !...
Messages postés
2350
Date d'inscription
mercredi 13 octobre 2004
Statut
Membre
Dernière intervention
18 avril 2015
4
"<form name="form1" method="POST" action="<?php $varaction ?>">"

Rien que ca, ton formulaire ne marchera pas.
Messages postés
10839
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
25
Lol...FhX, certes :-) Mais tu pourrais expliquer ;-)

Si tu veux afficher une variable, il faut la diriger vers la sortie écran : <?php echo $varaction; ?>

Après, je vote pour la solution de kgadhi mixée avec la remarque de AlexGrapin.
En rajoutant que un @$_POST['bla'] n'est une bonne chose que si on induit une gestion des erreurs, ce qui n'est pas le cas ici.
Messages postés
85
Date d'inscription
samedi 20 novembre 2004
Statut
Membre
Dernière intervention
18 juin 2009

pour commencer merci a tous
j'ai fait un mixe qui a l'aire pas mal mais il ne marche pas il me recharge la meme page
----------------------------------------------------------------------------------------
<form name="form1" method="POST" onsubmit="zyVa()">
<select name="select1" onChange="this.form.submit()">
<option selected>Entreprise</option>
<option>Commerce</option>
<option>Association</option>
</select>
<?php if ($optionselect1 =='Association')
{ $varaction='liste_asso.php' }
else if ($optionselect1 =='Commerce')
{ $varaction='liste_com.php' }
else if ($optionselect1 =='Entreprise')
{ $varaction='liste_ent.php'} ?>

</form>

<script>
function zyVa()
{
document.location.href = <?php echo $varaction ;?>;
}
</script>

----------------------------------------------------------------------------------------
désolé si je fait des gorsses fautes je commence juste en php
Messages postés
10839
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
25
Tu n'as pas du tout fait que qui t'a été donné...
Messages postés
85
Date d'inscription
samedi 20 novembre 2004
Statut
Membre
Dernière intervention
18 juin 2009

c'est qu'en faite les deux autre methodes font la meme chose c'est peut etre parce que je teste en local avec easyphp ou que j'ai plusieur entrées dans mon form en realité ( par ce que j'ai alégé le code pour montrer ou j'avait un probleme)????
Messages postés
85
Date d'inscription
samedi 20 novembre 2004
Statut
Membre
Dernière intervention
18 juin 2009

ouai aussi mon code est dans un model (template) alors quand vous métez mapage.php je met le nom de mon model (nianian.dwt) ou je fait une varaible pour metre le nom de la page ou le code est reelemant???
Messages postés
85
Date d'inscription
samedi 20 novembre 2004
Statut
Membre
Dernière intervention
18 juin 2009

bon aprés des bonne prise de tete sur les petites erreures de sintaxe j'ai fait sa et sa marche


---------------------------------------------------------------------------------------
<?php
if (isset($_POST['select1'])!=NULL)
{$optionselect1 = @$_POST['select1'];
if ($optionselect1 =='Association')
{ $varaction='liste_asso.php' ;}
else if ($optionselect1 =='Commerce')
{ $varaction='liste_com.php';}
else if ($optionselect1 =='Entreprise')
{ $varaction='liste_ent.php';}
header ("Location:".$varaction);
}
?>


<form name="form1" method="POST" action="mapage.php">
<select name="select1" onChange="this.form.submit()">
<option selected>Entreprise</option>
<option>Commerce</option>
<option>Association</option>
</select>
</form>
---------------------------------------------------------------------------------------marchi baucoup