Redirection d'une page selon le mot de passe entrer
Résolu
ananias8686
Messages postés
96
Statut
Membre
-
ananias8686 Messages postés 96 Statut Membre -
ananias8686 Messages postés 96 Statut Membre -
Salut ici, je suis un grand débutant.
J'aimerais un script PHP où lorsque l'utilisateur met un mot de passe il soit redirectioné vers un lien spécifique.
Mon code doit contenir 3 mot de passe.
Lorsque l'utilisateur met par exemple:
1111 il est redirectioné vers site1.com
2222---> site2.com
3333---->site3.com
Voici mon code code, j'ai juste fait le formulaire, aidez-moi svp
J'aimerais un script PHP où lorsque l'utilisateur met un mot de passe il soit redirectioné vers un lien spécifique.
Mon code doit contenir 3 mot de passe.
Lorsque l'utilisateur met par exemple:
1111 il est redirectioné vers site1.com
2222---> site2.com
3333---->site3.com
Voici mon code code, j'ai juste fait le formulaire, aidez-moi svp
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>Page protégée</title>
</head>
<body>
<form
<input type="password" name="mot_de_passe" />
<input type="submit" value="Valider" />
</form>
</body>
</html>
2 réponses
-
Bonjour,
Dans ton formulaire il manque les attributs action et method
<form method="post" action="ton_script_php.php">
Et dans ton_script_php.php
il faut :
1 - récupérer la variable issue de ton formulaire$password = !empty($_POST['password']) ? $_POST['password'] : NULL;
2 - Utiliser un IF/ELSEIF ELSE ..; ou un SWITCTH pour "tester" la contenu de ta variable
et donc "choisir" vers quoi rediriger
Par exemple :switch($password ){ case "111": $url = "site1.com"; break; case "222": $url = "site2.com"; break; case "333": $url = "site3.com"; break; default: break; }
3 - Faire la redirectionheader('location :'.$url); exit();
-
Merci pour votre réponse. J'ai essayer mais il y a peut-être erreur dans mon code, voici le code
<!DOCTYPE html> <html> <head> <title>Mon script php</title> </head> <body> <?php $password = !empty($_POST['password']) ? $_POST['password'] : NULL; switch($password ){ case "111": $url = "site1.com"; break; case "222": $url = "site2.com"; break; case "333": $url = "site3.com"; break; default: break; } //redirection header('location :'.$url); exit(); ?> </body> </html> -
Oui il y a une erreur....
Tu dois placer ton code php AVANT tout le reste.... surtout que pour le coup... le code html est totalement inutile dans ce fichier...
Au passage, je t'invite fortement à lire ceci : https://forums.commentcamarche.net/forum/affich-37584947-php-gestion-des-erreurs-debogage-et-ecriture-du-code -
Voici l'erreur que ça met "Remarque : Variable non définie : url dans / stockage /ssd3/498/8583498/public_html/po/index.php à la ligne 27
Avertissement : impossible de modifier les informations d'en-tête - les en-têtes ont déjà été envoyés par (sortie démarrée par / storage / ssd3 / 498/8583498 / public_html / po / index.php: 27) dans /storage/ssd3/498/8583498/public_html/po/index.php à la ligne 27" -
-
Pardon, ligne 21
<?php ini_set('display_errors', TRUE); ini_set('display_startup_errors', TRUE); $password = !empty($_POST['password']) ? $_POST['password'] : NULL; switch($password ){ case "111": $url = "site1.com"; break; case "222": $url = "site2.com"; break; case "333": $url = "site3.com"; break; default: break; } //redirection header('location :'.$url); exit(); ?>
-
-
Je confirme que si on reprend exactement le code que je t'ai donné (et que le fichier est bien en utf8 (sans bom))
<?php error_reporting(E_ALL); ini_set('display_errors', TRUE); ini_set('display_startup_errors', TRUE); $password = !empty($_POST['mot_de_passe']) ? $_POST['mot_de_passe'] : NULL; if($password){ switch($password ){ case "111": $url = "site1.com"; break; case "222": $url = "site2.com"; break; case "333": $url = "site3.com"; break; default: $url = "index.php"; break; } //redirection header('Location:'.$url .'?error=password'); exit(); }else{ echo "<br><b>Aucun password renseigné !</b>"; } ?>
cela fonctionne parfaitement...
-
Merci, ça a marché , mais le problème de redirection cause problème, au fait ça ne fait pas les redirections de façon direct.
Voici le message d'erreur ''The requested URL /po/site2.com was not found on this server.
Vous pouvez l'essayer directement sur le site, une fois la redirection fait, vérifier l'URL: https://ubmobyle.000webhostapp.com/po/formulaire.php -
-
-
Ben oui...
Si ce sont des sites externes il faut mettre l'url complete... genre https://www.monsite2.fr/ -
-