Redirection d'une page selon le mot de passe entrer

Résolu/Fermé
ananias8686 Messages postés 86 Date d'inscription samedi 9 février 2019 Statut Membre Dernière intervention 19 août 2023 - Modifié le 14 févr. 2019 à 10:05
ananias8686 Messages postés 86 Date d'inscription samedi 9 février 2019 Statut Membre Dernière intervention 19 août 2023 - 13 févr. 2019 à 21:56
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
<!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>
A voir également:

2 réponses

jordane45 Messages postés 38136 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 16 avril 2024 4 647
12 févr. 2019 à 21:33
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 redirection
header('location :'.$url);
exit();

0
ananias8686 Messages postés 86 Date d'inscription samedi 9 février 2019 Statut Membre Dernière intervention 19 août 2023
Modifié le 12 févr. 2019 à 23:04
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>
0
jordane45 Messages postés 38136 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 16 avril 2024 4 647
12 févr. 2019 à 23:06
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
0
ananias8686 Messages postés 86 Date d'inscription samedi 9 février 2019 Statut Membre Dernière intervention 19 août 2023
12 févr. 2019 à 23:53
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"
0
jordane45 Messages postés 38136 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 16 avril 2024 4 647
13 févr. 2019 à 00:05
Montres le code complet de ton fichier index php
0
ananias8686 Messages postés 86 Date d'inscription samedi 9 février 2019 Statut Membre Dernière intervention 19 août 2023
Modifié le 13 févr. 2019 à 00:10
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();
?>
0
jordane45 Messages postés 38136 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 16 avril 2024 4 647
13 févr. 2019 à 20:50
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...
0
ananias8686 Messages postés 86 Date d'inscription samedi 9 février 2019 Statut Membre Dernière intervention 19 août 2023
13 févr. 2019 à 21:42
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
0
ananias8686 Messages postés 86 Date d'inscription samedi 9 février 2019 Statut Membre Dernière intervention 19 août 2023
13 févr. 2019 à 21:44
La redirection se fait de cette manière monsite/site.com au lieu de faire directement site.com
0
ananias8686 Messages postés 86 Date d'inscription samedi 9 février 2019 Statut Membre Dernière intervention 19 août 2023
13 févr. 2019 à 21:47
Mais ça ne cause pas problème puisque je veux faire la redirection vers d'autres fichiers php de mon site.
0
jordane45 Messages postés 38136 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 16 avril 2024 4 647
13 févr. 2019 à 21:48
Ben oui...
Si ce sont des sites externes il faut mettre l'url complete... genre https://www.monsite2.fr/
0
ananias8686 Messages postés 86 Date d'inscription samedi 9 février 2019 Statut Membre Dernière intervention 19 août 2023
13 févr. 2019 à 21:56
Mon problème est reglé, merci pour votre aide.
0