Menu

Redirection d'une page selon le mot de passe entrer [Résolu]

Messages postés
12
Date d'inscription
samedi 9 février 2019
Dernière intervention
13 février 2019
-
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>
Afficher la suite 

Votre réponse

2 réponses

Messages postés
24579
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
19 février 2019
1848
0
Merci
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();

jordane45
Messages postés
24579
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
19 février 2019
1848 -
ok.. et que contient EXACTEMENT (et dans son entièreté.....) le fichier index.php ?
jordane45
Messages postés
24579
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
19 février 2019
1848 > jordane45
Messages postés
24579
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
19 février 2019
-
Rassures moi... tu as bien retiré le code HTML qu'il y avait dedans comme je te l'avais indiqué ???
Si oui...
essayes ça et dis nous ce que ça t'affiche
<?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');
    echo "<br> Variables POST :<br><pre>";
    print_r($_POST);    
    echo "</pre>";
   echo "<br> URL = " . $url ;
    exit();
  }else{
    echo "<br><b>Aucun password renseigné !</b>";
  }
?>
ananias8686
Messages postés
12
Date d'inscription
samedi 9 février 2019
Dernière intervention
13 février 2019
-
Voici le code complet de index.php
<?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>";
    echo "<br> Variables POST :<br><pre>";
    print_r($_POST);    
    echo "</pre>";
  }


?>
jordane45
Messages postés
24579
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
19 février 2019
1848 > ananias8686
Messages postés
12
Date d'inscription
samedi 9 février 2019
Dernière intervention
13 février 2019
-
donc teste le code que je viens de te donner et colles nous le résultat
jordane45
Messages postés
24579
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
19 février 2019
1848 > jordane45
Messages postés
24579
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
19 février 2019
-
vérifies aussi que tes fichiers sont bien en utf8 sans bom (voir chapitre 1 de ce lien : http://www.commentcamarche.net/faq/47069-html-php-caracteres-accentues-et-l-utf8 )
Commenter la réponse de jordane45
Messages postés
24579
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
19 février 2019
1848
0
Merci
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...
ananias8686
Messages postés
12
Date d'inscription
samedi 9 février 2019
Dernière intervention
13 février 2019
-
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
ananias8686
Messages postés
12
Date d'inscription
samedi 9 février 2019
Dernière intervention
13 février 2019
-
La redirection se fait de cette manière monsite/site.com au lieu de faire directement site.com
ananias8686
Messages postés
12
Date d'inscription
samedi 9 février 2019
Dernière intervention
13 février 2019
-
Mais ça ne cause pas problème puisque je veux faire la redirection vers d'autres fichiers php de mon site.
jordane45
Messages postés
24579
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
19 février 2019
1848 -
Ben oui...
Si ce sont des sites externes il faut mettre l'url complete... genre http://www.monsite2.fr
ananias8686
Messages postés
12
Date d'inscription
samedi 9 février 2019
Dernière intervention
13 février 2019
-
Mon problème est reglé, merci pour votre aide.
Commenter la réponse de jordane45