Probleme de lien par liste box

Résolu
jul00 Messages postés 85 Date d'inscription samedi 20 novembre 2004 Statut Membre Dernière intervention 18 juin 2009 - 25 janv. 2006 à 17:12
jul00 Messages postés 85 Date d'inscription samedi 20 novembre 2004 Statut Membre Dernière intervention 18 juin 2009 - 27 janv. 2006 à 11:47
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

kgadhi Messages postés 121 Date d'inscription mardi 9 août 2005 Statut Membre Dernière intervention 18 décembre 2007
25 janv. 2006 à 17:44
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>
3
AlexGrapin Messages postés 2 Date d'inscription mercredi 25 janvier 2006 Statut Membre Dernière intervention 25 janvier 2006
25 janv. 2006 à 17:49
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);
3
sidf Messages postés 1216 Date d'inscription mardi 20 décembre 2005 Statut Membre Dernière intervention 18 octobre 2012 5
25 janv. 2006 à 17:23
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
0
AlexGrapin Messages postés 2 Date d'inscription mercredi 25 janvier 2006 Statut Membre Dernière intervention 25 janvier 2006
25 janv. 2006 à 17:35
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 !...
0

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

Posez votre question
FhX Messages postés 2350 Date d'inscription mercredi 13 octobre 2004 Statut Membre Dernière intervention 18 avril 2015 3
25 janv. 2006 à 18:01
"<form name="form1" method="POST" action="<?php $varaction ?>">"

Rien que ca, ton formulaire ne marchera pas.
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
26 janv. 2006 à 09:35
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.
0
jul00 Messages postés 85 Date d'inscription samedi 20 novembre 2004 Statut Membre Dernière intervention 18 juin 2009
26 janv. 2006 à 11:15
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
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
26 janv. 2006 à 12:12
Tu n'as pas du tout fait que qui t'a été donné...
0
jul00 Messages postés 85 Date d'inscription samedi 20 novembre 2004 Statut Membre Dernière intervention 18 juin 2009
26 janv. 2006 à 14:25
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)????
0
jul00 Messages postés 85 Date d'inscription samedi 20 novembre 2004 Statut Membre Dernière intervention 18 juin 2009
26 janv. 2006 à 14:45
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???
0
jul00 Messages postés 85 Date d'inscription samedi 20 novembre 2004 Statut Membre Dernière intervention 18 juin 2009
27 janv. 2006 à 11:47
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
0
Rejoignez-nous