Précédent   Forum des professionnels en informatique > PHP > Langage > Sessions
Sessions Forum d'entraide sur les sessions avec PHP. Avant de poster -> FAQ sessions, Cours sessions et Sources sécurité
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 20/07/2006, 22h21   #1
Nouveau Membre du Club
 
Inscription : février 2006
Messages : 162
Détails du profil
Informations forums :
Inscription : février 2006
Messages : 162
Points : 28
Points : 28
Par défaut Rediriger plusieurs url dans le "Action"

Bonsoir, bonsoir,

Je cherche à changer les url d'un "action" d'un formulaire à ma guise...

A savoir, si l'on clique sur le bouton de type "submit", ca change l'url, ou bien si l'on clique sur un bouton, ou fait un changement au hasard dans une liste, je voudrais que l'url du action puisse changer où je le veux


J'ai testé avec les sessions, ca a l'air de fonctionner, mais je voudrais changer l'url avec des variables (car je trouves les sessions pas trop pratiques point de vue retour de page, ou meme changement de menus, remise à l'origine de l'url,etc..)

A savoir par exemple :

Code :
1
2
3
4
5
<form action=" <? echo $_SESSION['toto'] ; ?> "
 
//et après le formulaire je met :
 
if (isset($_POST['bouton_du_submit'] ) ) $_SESSION['toto']="toto.com" ;
là ca marche...

mais si je fait :
Code :
1
2
3
4
5
<form action=" <? echo $variable; ?> "
 
//et après le formulaire je met :
 
if (isset($_POST['bouton_du_submit'] ) ) $variable="toto.com" ;
Bah là ca marche plus :'(

Bref, y'a t i l une solution autre que les sessions pour faire passer des url différentes dans le "action" ?
Alexino2 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/07/2006, 22h47   #2
Membre émérite
 
Avatar de guitou12
 
Guillaume
Inscription : juillet 2006
Messages : 813
Détails du profil
Informations personnelles :
Nom : Guillaume
Âge : 29

Informations forums :
Inscription : juillet 2006
Messages : 813
Points : 905
Points : 905
Envoyer un message via MSN à guitou12
C'est totalement normal que ca ne fonctionne pas étant donné que quand tu submit ta page va revenir à son état initial ainsi dans ton 2eme exemple tu ne pourras jamaisa voir toto.com

Comme solution à part les sessions tu as la base de données éventuellement
__________________
Le . est la base de toute bonne concaténation, marre de voir des
echo "Mavar1 = $toto et Mavar2 = $titi";
ou pire echo 'Mavar1 = ',$toto,' et Mavar2 = ',$titi;
pratiquez plutôt le echo 'Mavar1 = '.$toto.' et Mavar2 = '.$titi;
guitou12 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/07/2006, 22h58   #3
Nouveau Membre du Club
 
Inscription : février 2006
Messages : 162
Détails du profil
Informations forums :
Inscription : février 2006
Messages : 162
Points : 28
Points : 28
Citation:
Envoyé par guitou12
C'est totalement normal que ca ne fonctionne pas étant donné que quand tu submit ta page va revenir à son état initial ainsi dans ton 2eme exemple tu ne pourras jamaisa voir toto.com

Comme solution à part les sessions tu as la base de données éventuellement
edit : alors à quand la redirection php ou l'on veut dans notre page ??? Si c'est possible en haut d'une page, pourquoi ne le serait pas dans n'importe quel partie de notre page Web. Si j'en conclue ce que tu viens de dire, je suis obligé de passer par le javascript pour rediriger mon "action" à ma guise ?

Donc le php pour les redirections des formulaires à volonté, c'est possible, mais c'est bien la galère comparé au javascript si je comprend bien ?

D'autant plus que je viens à l'instant de remarquer que la redirection avec les sessions ne s'effectuait qu'au bout du 3ème clic de mon bouton submit Oo Bref, ca m'embrouille...Si quelqu'un avait des explications ou solutions...
Alexino2 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/07/2006, 08h35   #4
Membre émérite
 
Avatar de guitou12
 
Guillaume
Inscription : juillet 2006
Messages : 813
Détails du profil
Informations personnelles :
Nom : Guillaume
Âge : 29

Informations forums :
Inscription : juillet 2006
Messages : 813
Points : 905
Points : 905
Envoyer un message via MSN à guitou12
Citation:
Envoyé par Alexino2
edit : alors à quand la redirection php ou l'on veut dans notre page ??? Si c'est possible en haut d'une page, pourquoi ne le serait pas dans n'importe quel partie de notre page Web. Si j'en conclue ce que tu viens de dire, je suis obligé de passer par le javascript pour rediriger mon "action" à ma guise ?

Donc le php pour les redirections des formulaires à volonté, c'est possible, mais c'est bien la galère comparé au javascript si je comprend bien ?
Tu as tout compris
__________________
Le . est la base de toute bonne concaténation, marre de voir des
echo "Mavar1 = $toto et Mavar2 = $titi";
ou pire echo 'Mavar1 = ',$toto,' et Mavar2 = ',$titi;
pratiquez plutôt le echo 'Mavar1 = '.$toto.' et Mavar2 = '.$titi;
guitou12 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/03/2007, 17h58   #5
Invité de passage
 
Inscription : février 2007
Messages : 11
Détails du profil
Informations forums :
Inscription : février 2007
Messages : 11
Points : 4
Points : 4
Bonjour,

Je relance le sujet car justement je l'ai fait en javascript

voici mon code :

dans le header

Code X :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
<html>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title></title>

<meta name="description" content="">
<meta name="keywords" content="">
<script language="javascript" type="text/javascript">
//redirection lien
function liens(){

if(document.formulaire.menu.options[1].selected == true) {
document.formulaire.action("http://www.google.fr");


}
else if (document.formulaire.menu.options[2].selected == true) {
document.formulaire.action("http://www.yahoo.fr");


}

else if(document.formulaire.menu.options[3].selected == true) {
document.formulaire.action("http://www.wanadoo.fr");



}

else if(document.formulaire.menu.options[4].selected == true) {
document.formulaire.action("http://www.voila.fr");



}

}

</script>


dans le body :

Code html :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 
<form name="formulaire" method="post">
<select name="menu">
 
<option selected="selected"></option>
<option>choix1</option>
<option>choix2</option>
<option>choix3</option>
<option>choix4</option>
 
</select>
 
 
<input name="bouton" type="image" src="images/ok.gif" alt="Valider" onclick="liens()">


Par contre, n'y a t -il pas un moyen plus optimal de faire ça car quand on a une liste de 20 éléments c'est pas terrible !!!

Aussi j'aimerai savoir comment faire pour ouvrir le lien après avoir cliqué sur ok dans une nouvelle fenêtre (et que ce soit compatible sur IE et Firefox au moins)

Merci
liloute8092 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/03/2007, 18h22   #6
Membre chevronné
 
Avatar de |PaRa-BoL
 
Inscription : novembre 2003
Messages : 737
Détails du profil
Informations personnelles :
Âge : 25

Informations forums :
Inscription : novembre 2003
Messages : 737
Points : 782
Points : 782
Citation:
Par contre, n'y a t -il pas un moyen plus optimal de faire ça car quand on a une liste de 20 éléments c'est pas terrible !!!
Optimal dans quel sens ? Sinon pour etre sur que ton menu soit déroulant size="1"

Citation:
Aussi j'aimerai savoir comment faire pour ouvrir le lien après avoir cliqué sur ok dans une nouvelle fenêtre (et que ce soit compatible sur IE et Firefox au moins)
target="_blank" dans le <form>
__________________
http://www.ape-project.org/
|PaRa-BoL est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/03/2007, 09h55   #7
Invité de passage
 
Inscription : février 2007
Messages : 11
Détails du profil
Informations forums :
Inscription : février 2007
Messages : 11
Points : 4
Points : 4
Citation:
Optimal dans quel sens ?

Je veux dire plutôt "optimisé" => une méthode valable dans n'importe quelle situation .. je pense notamment en utilisant un <select id="choix> par exemple et en utilisant <option value ="adresse internet">

Mais je ne sais pas comment récupérer cette value pour envoyer la page vers le bon lien..

Merci !!
liloute8092 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/03/2007, 10h28   #8
Membre Expert
 
Avatar de Djakisback
 
Inscription : février 2005
Messages : 1 791
Détails du profil
Informations forums :
Inscription : février 2005
Messages : 1 791
Points : 1 681
Points : 1 681
Citation:
edit : alors à quand la redirection php ou l'on veut dans notre page ??? Si c'est possible en haut d'une page, pourquoi ne le serait pas dans n'importe quel partie de notre page Web. Si j'en conclue ce que tu viens de dire, je suis obligé de passer par le javascript pour rediriger mon "action" à ma guise ?
Pour info tu peux rediriger depuis où tu veux dans la page en utilisant la bufférisation. Mais si t'en arrives à devoir faire cela c'est en général qu'il y a un problème de conception du truc. Pour le multi-boutons en PHP tu peux faire ceci :
Code :
1
2
3
4
5
6
7
// haut de page
if(isset($_POST['buttonSuppr'], $_POST['id'])) {
header("Location: supprimer.php?id=".$_POST['id']);
}
else if(isset($_POST['buttonEdit'], $_POST['id']) {
header("Location: modifier.php?id=".$_POST['id']);
}
liloute8092, en js tu peux faire ceci, plus simple :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<script>
function processChange(select)	{
select.form.action = select.options[select.selectedIndex].value;
}
</script>
 
<form action="index.php">
<select onChange="processChange(this);">
<option value="http://zerze1rzer.zerze/p.php">1</option>
<option value="http://zerz2erzer.zerze/p.php">2</option>
<option value="http://zerz3erzer.zerze/p.php">3</option>
<option value="http://zerz4erzer.zerzep.php">4</option>
</select>
<input type="submit" name="ok" value="ok">
</form>
ou encore :

Code :
1
2
3
4
5
6
7
8
9
<form action="index.php">
<select id="s">
<option value="http://zerze1rzer.zerze/p.php">1</option>
<option value="http://zerz2erzer.zerze/p.php">2</option>
<option value="http://zerz3erzer.zerze/p.php">3</option>
<option value="http://zerz4erzer.zerzep.php">4</option>
</select>
<input type="submit" name="ok" value="ok" onClick="processChange(this.form['s'])">
</form>
Bye
Djakisback est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/03/2007, 10h50   #9
Invité de passage
 
Inscription : février 2007
Messages : 11
Détails du profil
Informations forums :
Inscription : février 2007
Messages : 11
Points : 4
Points : 4
Merci ça fonctionne parfaitement... mais je suis un peu frustrée de ne pas réussir cette méthode avec javascript....
liloute8092 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 11h23.


 
 
 
 
Partenaires

Hébergement Web