Php : redirection endroit precis d'une page
Fermé
matt2fou
Messages postés
5
Date d'inscription
mercredi 16 novembre 2011
Statut
Membre
Dernière intervention
17 novembre 2011
-
16 nov. 2011 à 14:17
bigbybob - 17 nov. 2011 à 16:39
bigbybob - 17 nov. 2011 à 16:39
A voir également:
- Php : redirection endroit precis d'une page
- Easy php - Télécharger - Divers Web & Internet
- \R php ✓ - Forum PHP
- Br php ✓ - Forum PHP
- Expert php - Télécharger - Langages
- Php echo image ✓ - Forum PHP
4 réponses
maka54
Messages postés
698
Date d'inscription
mercredi 8 avril 2009
Statut
Membre
Dernière intervention
4 décembre 2016
80
16 nov. 2011 à 15:26
16 nov. 2011 à 15:26
Sans code, difficile de donner une réponse
matt2fou
Messages postés
5
Date d'inscription
mercredi 16 novembre 2011
Statut
Membre
Dernière intervention
17 novembre 2011
Modifié par matt2fou le 16/11/2011 à 15:41
Modifié par matt2fou le 16/11/2011 à 15:41
pk? c simple pourtant de donner juste le code qui permet de faire ca..
<form action="cible.php" method="post">
<select name="choix">
<option value="choix1">choix 1</option>
<option value="choix2">choix 2</option>
<option value="choix3">choix 3</option>
</select>
<input type="submit" value="lancer">
</form>
en faite, ca m'amenera toujours vers cible.php alors que je voudrais par exmeple si je choisi choix 2 que ca m'amene vers la page choix 2.. mettre la variable choix2 ds form action="choix2.php" .. tu vois? :p
<form action="cible.php" method="post">
<select name="choix">
<option value="choix1">choix 1</option>
<option value="choix2">choix 2</option>
<option value="choix3">choix 3</option>
</select>
<input type="submit" value="lancer">
</form>
en faite, ca m'amenera toujours vers cible.php alors que je voudrais par exmeple si je choisi choix 2 que ca m'amene vers la page choix 2.. mettre la variable choix2 ds form action="choix2.php" .. tu vois? :p
Salut, je ne peut pas voir les réponses précédentes (don't know why...)
Bon alors d'après ce que j'ai compris t'as 2 choix, soit tu utilise une fonction Javascript, je crois que c'est "OnChange" mais je me souviens plus trop de comment l'utiliser.
Sinon tu récupère ta variable de ta liste et tu fait ta redirection.
En espérant avoir aidé
Bon alors d'après ce que j'ai compris t'as 2 choix, soit tu utilise une fonction Javascript, je crois que c'est "OnChange" mais je me souviens plus trop de comment l'utiliser.
Sinon tu récupère ta variable de ta liste et tu fait ta redirection.
if(isset($_POST['NOM DE TA LISTE'])){ $nom = $_POST['NOM DE TA LISTE'] et la tu fait ta redirection vers $nom }
En espérant avoir aidé
matt2fou
Messages postés
5
Date d'inscription
mercredi 16 novembre 2011
Statut
Membre
Dernière intervention
17 novembre 2011
16 nov. 2011 à 16:05
16 nov. 2011 à 16:05
oh je vois, je n'est pas encore trop l'habitude..
pour la redirection, c mieux d'utiliser la fonction header() ou une autre?
cela ferai header($nom).... car header permet de rediriger vers l'url, moi y avait une autre fonction comme <a href....> ( html) plus simple.
je vais faire des tests, et si c pas trop te demandé de me dire comment tu ferai cette fonction de redirection.
tu m'a deja un peu aidé :)) merci
pour la redirection, c mieux d'utiliser la fonction header() ou une autre?
cela ferai header($nom).... car header permet de rediriger vers l'url, moi y avait une autre fonction comme <a href....> ( html) plus simple.
je vais faire des tests, et si c pas trop te demandé de me dire comment tu ferai cette fonction de redirection.
tu m'a deja un peu aidé :)) merci
<meta http-equiv="refresh" content="3; URL=http://www.manouvelleadresse.com">
C'est le plus simple, je crois que dans le content tu met le temps que tu veux que ça prennent avant de lancer la redirection.
C'est ce que tu vois sur les sites genre "nous avons déménagé, vous allez etre redirigé dans X secondes"
Apres, il te faudra certainement mettre des conditions pour déterminer qu'elle adresse envoyer. J'imagine qu'en fonction de la valeur de ta liste l'adresse doit changer.
Donc par exemple :
if($nom =='1'){
<meta http-equiv="refresh" content="3; URL=http://www.manouvelleadresse.com">
}else if($nom == '2'){
<meta http-equiv="refresh" content="3; URL=http://www.manouvelleadresse.com">
}
etc etc
Et tu met les '1', '2', etc dans tes "values" des éléments de ta liste.
C'est le plus simple, je crois que dans le content tu met le temps que tu veux que ça prennent avant de lancer la redirection.
C'est ce que tu vois sur les sites genre "nous avons déménagé, vous allez etre redirigé dans X secondes"
Apres, il te faudra certainement mettre des conditions pour déterminer qu'elle adresse envoyer. J'imagine qu'en fonction de la valeur de ta liste l'adresse doit changer.
Donc par exemple :
if($nom =='1'){
<meta http-equiv="refresh" content="3; URL=http://www.manouvelleadresse.com">
}else if($nom == '2'){
<meta http-equiv="refresh" content="3; URL=http://www.manouvelleadresse.com">
}
etc etc
Et tu met les '1', '2', etc dans tes "values" des éléments de ta liste.
matt2fou
Messages postés
5
Date d'inscription
mercredi 16 novembre 2011
Statut
Membre
Dernière intervention
17 novembre 2011
17 nov. 2011 à 12:00
17 nov. 2011 à 12:00
ahhh ouai, j'ai dérailler hier, j'ai essayé de le faire avec d'autre code et j'y arrivais pas. toujours un endroit ou ca bloque, je vais essayé ca. je vous dit si j'ai reussi apres. ( oui content c le tps d'attente).
mais je sais que quand je choisi ce que je veux dans ma liste déroulante, il faut que j'active un boutton pour qu'il le prenne en compte. car sinon la valeur ne se met pas dans la variable,( c'est le pb que j'ai rencontré hier aussi) je vais essayé la. a moins qu'en utilisant ce code on n'en ai pas besoin.
a tte bigbybob :)
mais je sais que quand je choisi ce que je veux dans ma liste déroulante, il faut que j'active un boutton pour qu'il le prenne en compte. car sinon la valeur ne se met pas dans la variable,( c'est le pb que j'ai rencontré hier aussi) je vais essayé la. a moins qu'en utilisant ce code on n'en ai pas besoin.
a tte bigbybob :)
matt2fou
Messages postés
5
Date d'inscription
mercredi 16 novembre 2011
Statut
Membre
Dernière intervention
17 novembre 2011
17 nov. 2011 à 14:59
17 nov. 2011 à 14:59
bon, je te montre ce que j'ai fais, ca ne fonctionne pas ,'jai une erreur a la ligne 15.. et surement ailleurs mais je ne peux pas voir :
<html>
<head>
<form method="post">
<select name="choix">
<option value="choix1">choix1</option>
<option value="choix2">choix2</option>
<option value="choix3">choix3</option>
</select>
<input type="submit" value="lancer">
</form>
<?php
if (isset($_POST['choix']))
{
$nom = $_POST['choix']
}
if ($nom =='choix1') <== erreur la Oo je comprend pas
{
<meta http-equiv="refresh" content="2;URL=http://localhost/test/choix1">
}
else if($nom =='choix2')
{
<meta http-equiv="refresh" content="2;URL=http://localhost/test/choix2">
}
else if($nom =='choix3')
{
<meta http-equiv="refresh" content="2;URL=http://localhost/test/choix3">
}
echo ' il y a un probleme';
?>
</head>
</html>
<html>
<head>
<form method="post">
<select name="choix">
<option value="choix1">choix1</option>
<option value="choix2">choix2</option>
<option value="choix3">choix3</option>
</select>
<input type="submit" value="lancer">
</form>
<?php
if (isset($_POST['choix']))
{
$nom = $_POST['choix']
}
if ($nom =='choix1') <== erreur la Oo je comprend pas
{
<meta http-equiv="refresh" content="2;URL=http://localhost/test/choix1">
}
else if($nom =='choix2')
{
<meta http-equiv="refresh" content="2;URL=http://localhost/test/choix2">
}
else if($nom =='choix3')
{
<meta http-equiv="refresh" content="2;URL=http://localhost/test/choix3">
}
echo ' il y a un probleme';
?>
</head>
</html>
Il te faut mettre tout tes
dans ton
Sinon ça fait des test sur une variable qui n'existe peut etre pas.
Si tu veux pouvoir déboguer ton site tu peux utiliser le plugin "FireBug" pour firefox.
Il existe aussi un truc pour développer sous Eclipse, ça te permettra de faire du pas a pas et de voir les valeurs attribués a tes variables en temps réel.
Ensuite t'as pas de "body" dans ton code. Normallement ça devrait ressembler a ceci :
<html><header></header><body> //ton code// </body></html>
Y'a de super tutos sur le site du zéro si t'es débutant
Et il te faut mettre tes test (if isset, etc) avant ton formulaire. Mets les au tout début du body de ta page, puis tu met le reste.
if($nom=='choix X')
dans ton
if (isset($_POST['choix']))
Sinon ça fait des test sur une variable qui n'existe peut etre pas.
Si tu veux pouvoir déboguer ton site tu peux utiliser le plugin "FireBug" pour firefox.
Il existe aussi un truc pour développer sous Eclipse, ça te permettra de faire du pas a pas et de voir les valeurs attribués a tes variables en temps réel.
Ensuite t'as pas de "body" dans ton code. Normallement ça devrait ressembler a ceci :
<html><header></header><body> //ton code// </body></html>
Y'a de super tutos sur le site du zéro si t'es débutant
Et il te faut mettre tes test (if isset, etc) avant ton formulaire. Mets les au tout début du body de ta page, puis tu met le reste.