Bonjour,
Je voudrais que le bouton de validation d'un formulaire renvoie vers une page spécifique en fonction des infos entrées.
Des pistes ? Un bout de code similaire en stock ?
Merci d'avance !
Bonjour,
Je voudrais que le bouton de validation d'un formulaire renvoie vers une page spécifique en fonction des infos entrées.
Des pistes ? Un bout de code similaire en stock ?
Merci d'avance !
Tu fais une redirection avec des conditions dans la page de reception du formulaire.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 <?php if ($_POST['tonchamp'] == "1") { $url = 'unepage.php'; } elseif ($_POST['tonchamp'] == "2") { $url = 'uneautrepage.php'; } header('Location: ' . $url);
Merci beaucoup, ce que je voudrais est un peu plus précis, je m'explique.
J'ai deux champs dans le formulaire :
les infos entrées dans le champ 1 peuvent être : a, b, c.
les infos entrées dans le champ 2 peuvent être x, y, z.
Je souhaite ouvrir une page pour a et x, une page pour a et y, une page une b et z... Pour toutes les possibilités possibles.
Comment faire ?
Merci encore pour la première réponse, cela m'a permis de mieux comprendre.
C'est pareil sur deux niveaux.
Plutôt que de faire des palanquées de conditions, on peut par contre utiliser un tableau :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 <?php if ($_POST['tonchamp'] == "a") { if ($_POST['tonchamp2'] == "x") { $url = 'unepage.php'; } elseif ($_POST['tonchamp2'] == "y") { $url = 'unepage.php'; } } elseif ($_POST['tonchamp'] == "2") { $url = 'uneautrepage.php'; }
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 $url = array( "a"=>array("x"=>"unepage", "y"=>"uneautrepage", "z"=>"unetroisieme"), "b"=>array("x"=>"unepage", "y"=>"uneautrepage", "z"=>"unetroisieme"), "c"=>array("x"=>"unepage", "y"=>"uneautrepage", "z"=>"unetroisieme") ); if (isset($url[$_POST['champ1']], $url[$_POST['champ1']][$_POST['champ2']]) { header('Location: ' . $url . '.php'); }
Merci beaucoup, mais ça ne fonctionne pas, où est mon erreur ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 <p> blabla </p> <form action="cible.php" method="post" target=_blank> <p> <input type="text" name="soleil" /> <input type="text" name="lune" /> <input type="submit" value="Valider" /> </p> </form>
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 <?php $url = array( "a"=>array("x"=>"unepage", "y"=>"uneautrepage", "z"=>"unetroisieme"), "b"=>array("x"=>"unepage", "y"=>"uneautrepage", "z"=>"unetroisieme"), "c"=>array("x"=>"unepage", "y"=>"uneautrepage", "z"=>"unetroisieme") ); if (isset($url[$_POST['soleil']], $url[$_POST['soleil']][$_POST['lune']]) { header('Location: ' . $url . '.php'); }
Tu peux être plus précis que "ça ne fonctionne pas" ?
Oui désolé.
Le nouvel onglet s'ouvre à l'adresse http://localhost:8888/cible.php et n'ouvre donc pas unepage ou uneautrepage...
Merci
Bonjour,
Code php : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 <?php $url = array( "a"=>array("x"=>"unepage", "y"=>"uneautrepage", "z"=>"unetroisieme"), "b"=>array("x"=>"unepage", "y"=>"uneautrepage", "z"=>"unetroisieme"), "c"=>array("x"=>"unepage", "y"=>"uneautrepage", "z"=>"unetroisieme") ); if ( !empty($_POST['soleil']) && !empty($_POST['lune']) ) { if ( !empty($url[$_POST['soleil']][$_POST['lune']]) ) { header('location: ' . $url[$_POST['soleil']][$_POST['lune']] . '.php'); } else { echo 'Oups !'; } } ?>
Le B-A-BA du débogage est d'AFFICHER les données pour vérifier ce quelles contiennent :
Code php : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 var_dump( $url ); // array echo $url[$_POST['soleil']][$_POST['lune']]; // variable
Merci beaucoup, ça fonctionne mais je ne comprends pas à partir de la ligne 8.
Et à quoi sert
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 var_dump( $url ); // array echo $url[$_POST['soleil']][$_POST['lune']]; // variable
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager