Souci scripte

Bonjour,

<center><?php
// si le mot de passe est posté
if(isset($_POST["motdepasse"]))
{
// si la valeur du mot de passe est bien celle qu'il faut
if($_POST["passe2"] == "cce0207") echo "passe2";
if($_POST["luci"] == "cce0207") echo "lucie";
}
else echo "Mauvais mot de passe";
?>
<form name="motdepasse" method="post" action="index2.html">
<input type=password name="motpasse" size="10" value="" />
<input type="submit" name="action onClick=(this.form)" value="OK">
</form></center>

j'ai trouver une méthode pour ma solution de login
mais cependant il me manque quelque chose

quart j'ai beau taper toto au mettre lucie

ça me renvoi a la même page !

et se que je cherche a faire c'est que toto puisse aceder a ça page
et lucie aussi

en somme je cherche a savoir comment peut ton associer un passe ou un login a une page précise

qu'on puisse associer luci a ma-page.html
et toto mapage2.html

afin qui soi rediriger ver leur page

demande solution

cordialement tom

19 réponses

Résumé de la discussion

Le fil explore comment associer un login et un mot de passe à une page précise via PHP et quels obstacles techniques se posent lors de l’envoi du formulaire. Plusieurs réponses proposent d’utiliser des champs du formulaire correctement nommés, de vérifier l’existence des éléments avec isset($_POST(...)) et d’employer header('Location', ...) pour diriger l’utilisateur vers la page ciblée. Des conseils insistent sur l’importance d’un formulaire où les noms de champs correspondent précisément au code, et sur la nécessité potentielle de créer des pages dédiées que l’authentification ouvre. En pratique, une approche consiste à vérifier les identifiants saisis et à rediriger vers des pages protégées correspondantes, tout en recommandant d’éviter les méthodes simples et de clarifier les noms des champs.

Bobot (l’IA à votre service)
  1. Aucun problème de mon côté, il me marque "Veuillez entrer des informations corrects" car le mot de passe correct est "cce0207".
    J'ai appelé la page avec le formulaire "test.php". As-tu créé les deux autres pages ?
    1
    1. ba les autre page au faite sont dans des dossier

      en somme voila faut que julien ou lucie comme tu veut c pareil de toute maniere

      arrive sur ça Julien/admin/page.php
      0
  2. cela ne marche pas

    pourrais tu nous faire la page peut être

    vue que tu connais pas mal
    1
    1. je suis en train de tester mais tu est sur qu'il faut laisse 'Location: page.php'
      0
    2. header('Location: page_pierre.php'); // Espace Pierre

      Location:

      tu laisse ça dans le code?
      0
    3. Oui
      0
  3. Contributeur
    <input type="submit" value="OK"> 
    0
    1. je ré explique quart

      <input type="submit" value="OK">

      seule ( ça ne veut rien dire pour moi dsl)

      ?>
         1. <center><?php
         2. // si le mot de passe est posté
         3. if(isset($_POST["motdepasse"]))
         4. {
         5. // si la valeur du mot de passe est bien celle qu'il faut
         6. if($_POST["passe2"] == "cce0207" ) echo "passe2";
         7. if($_POST["luci"] == "cce0207" ) echo "lucie";
         8. }
         9. else echo "Mauvais mot de passe";
        10. ?>
        11. <form name="motdepasse" method="post" action="index2.html">
        12. <input type=password name="motpasse" size="10" value="" />
        13. <input type="submit" name="action onClick=(this.form)" value="OK">
        14. </form></center>?>


      j'ai trouver une méthode pour ma solution de login
      mais cependant il me manque quelque chose

      quart j'ai beau taper toto au mettre Lucie

      ça me renvoi a la même page !

      se que je cherche a faire c'est que toto puisse accéder a ça page
      et Lucie aussi

      en somme je cherche a savoir comment peut ton associer une page a un login ou pseudo

      exemple

      login == identification si je tape mettons Lucie avec le passe celui si me ramènera systématiquement vers la page de Lucie

      pareil pour toto que dès le passe inscrit de toto celui si me redirige vers la page de toto

      et ainsi suite

      afin qui soi rediriger ver leur page

      demande solution

      cordialement tom
      0
  4. super pas explication sur ton code cela ne me parle pas du tout

    bien beaux mettre ça

    <input type="submit" value="OK">
    0
    1. Contributeur
      Remplace la ligne de ton code qui y ressemble par celle que je t'ai donnée ...
      0
  5. Bonjour,

    Tes variables $_POST["passe2"] et $_POST["luci"] n'existent pas une fois le formulaire envoyé puisqu'aucun élément du formulaire à name="passe2" ou name="luci".

    Essaye cela :
       1. <center><?php 
       2. // si le mot de passe est posté 
       3. if(isset($_POST["formulaire"])) 
       4. { 
       5. // si la valeur du mot de passe est bien celle qu'il faut 
       6. if($_POST["motdepasse"] == "cce0207" ) echo "passe2"; 
       7. if($_POST["motdepasse"] == "cce0207" ) echo "lucie"; 
       8. } 
       9. else echo "Mauvais mot de passe"; 
      10. ?> 
      11. <form name="formulaire" method="post" action=""> 
      12. <input type=password name="motdepasse" size="10" value="" /> 
      13. <input type="submit" name="action onClick=(this.form)" value="OK"> 
      14. </form></center>?>
    0
    1. quart je cherche a se que l'utilisateur dès qu'il rentre sont passe accèdes a ça page admin personnelle

      pareil pour Lucie
      0
      1. Bonjour,

        Ce type d'accès n'est pas sécurisé. Je te conseille pour ce cas-ci, d'utiliser les fichiers .htaccess.
        Voici un tutoriel sur leur utilisation :
        https://www.commentcamarche.net/contents/7-apache-les-fichiers-htaccess
        0
        1. Contributeur
          Et pourquoi ça ne serait pas sécurisé ?
          0
      2. oui je c'est les risque en couru mais né en moins si tu a la solution basique que je demande j'ai lue se tutoriel mais je ne comprend pas vraiment comment le faire cela a beaux être expliquer pour des novice c'est loin d'être clair
        0
        1. Code TRES DECONSEILLE :
          1. <center><?php    
          2. // si le mot de passe est posté    
          3. if(isset($_POST["formulaire"]))    
          4. {    
          5. // si la valeur du mot de passe est bien celle qu'il faut    
          6. if($_POST["motdepasse"] == "cce0207" ) header('Location: admin1.php');    
          7. if($_POST["motdepasse"] == "cce0208" ) header('Location: admin2.php');   
          8. }    
          9. else echo "Mauvais mot de passe";      
          10. ?>    
          11. <form name="formulaire" method="post" action="">    
          12. <input type=password name="motdepasse" size="10" value="" />    
          13. <input type="submit" name="action onClick=(this.form)" value="OK">    
          14. </form></center>?>
          0
          1. pour la securiter pas de souci quar il y a 2 administration

            avant arriver

            1. <center><?php
            2. // si le mot de passe est posté
            3. if(isset($_POST["formulaire"]))
            4. {
            5. // si la valeur du mot de passe est bien celle qu'il faut
            6. if($_POST["motdepasse"] == "cce0207" ) header('Location: admin1.php');
            7. if($_POST["motdepasse"] == "cce0208" ) header('Location: admin2.php');
            8. }
            9. else echo "Mauvais mot de passe";
            10. ?>
            11. <form name="formulaire" method="post" action="">
            12. <input type=password name="motdepasse" size="10" value="" />
            13. <input type="submit" name="action onClick=(this.form)" value="OK">
            14. </form></center>?>

            donc au faite je modifie ce ci :
            if($_POST["motdepasse"] == "cce0208" ) header('Location: admin2.php');

            par ça ?

            if($_POST["passe1"] == "julie" ) header('Location: admin2.php');
            0
            1. Pourquoi passe1 ? il n'y a pas de passe1 dans ton formulaire.
              Tu devrais mettre un champ pseudo et un champ mot de passe puis, connecter à ta BDD (Base de données) pour vérifier cette correspondance (pseudo avec bon mot de passe) et pouvoir rediriger vers l'administration. Là tu n'a mis qu'un champ password se qui fait que les utilisateurs ne peuvent être identifiés que par leur mot de passe.
              0
              1. le souci c'est que dans le scripte il y a que un password

                ça ne demande qu'un password

                se que je cherche a faire

                c'est simplement un login et un passe

                et que se passe correspond a un compte qui serait noter dans le scripte

                if($_POST["motdepasse"] == "cce0208" ) header('Location: admin2.php');

                dans l'histoire Julie elle ne rentre que sont passe au faite pas login rien?
                0
                1. Dans le cas où tu voudrais rajouter un champ de saisie de login,
                  il te faut rajouter :
                  <input type="text" name="pseudo" />

                  Dans ton formulaire, puis modifier ton code PHP en conséquence.

                  PS : Je suis en train de te réaliser un code.
                  0
                  1. ok alors attend

                    dans ton scripte simple question

                    si je tape Julie mettons, ou cela va m'amener quart là Julie ?????? c'est pour cela que j'ai remplacer

                    tout tout ta leur

                    cette ligne
                    if($_POST["motdepasse"] == "cce0208" ) header('Location: admin2.php');

                    afin d'y correspondre le login , le passe a une page précise

                    1. <center><?php
                    2. // si le mot de passe est posté
                    3. if(isset($_POST["formulaire"]))
                    4. {
                    5. // si la valeur du mot de passe est bien celle qu'il faut
                    6. if($_POST["motdepasse"] == "cce0207" ) header('Location: admin1.php');
                    7. if($_POST["motdepasse"] == "cce0208" ) header('Location: admin2.php');
                    8. }
                    9. else echo "Mauvais mot de passe";
                    10. ?>
                    11. <form name="formulaire" method="post" action="">
                    12. <input type=password name="motdepasse" size="10" value="" />
                    13. <input type="submit" name="action onClick=(this.form)" value="OK">
                    14. </form></center>?>
                    0
                    1. Voici le script que je viens de réalisé :
                      <div style="text-align: center;">
                      <?php
                      // si le mot de passe est posté
                      if(isset($_POST["formulaire"]))
                      {
                      // Cela reste une methode déconseillé !
                      if(($_POST['pseudo'] == 'Lucie') && ($_POST['motdepasse'] == 'cce0207')) {
                          header('Location: page_lucie.php'); // Espace Lucie
                      }
                      elseif(($_POST['pseudo'] == 'Pierre') && ($_POST['motdepasse'] == 'hHe86rP')) {
                          header('Location: page_pierre.php'); // Espace Pierre
                      }
                      else {
                          echo "<strong>Veuillez entrer des informations corrects</strong><br /><br />";
                      }
                      }
                      ?>
                      <form name="formulaire" method="post" action="#">
                          <label for="pseudo">Pseudo</label><br /><input type="text" id="pseudo" name="pseudo" /><br />
                          <label for="motdepasse">Mot de passe</label><br /><input type="password" id="motdepasse" name="motdepasse" size="10" value="" /><br /><br />
                          <input type="submit" name="formulaire" value="Submit">
                      </form>
                      </div>

                      Je l'ai testé, il fonctionne.
                      N'oublie pas de créer les pages "page_lucie.php" et "page_pierre.php".
                      0
                      1. ok nikel alors par contre une chose c'est ou qu'il faut y incorporer le passe la dedans

                        if(($_POST['pseudo'] == 'Lucie') && ($_POST['motdepasse'] == 'cce0207')) {
                        header('Location: page_lucie.php'); // Espace Lucie

                        quart je les teste ça marche nickel sauf le passe il me dit qui les faut

                        voici le message erreur indiquer

                        Warning: Cannot modify header information - headers already sent by (output started at /homez.221/coolguet/www/site2/login.php:7) in /homez.221/coolguet/www/site2/login.php on line 27

                        se qui corresponde sous adobe dreamweaver a ça
                        header('Location: page_lucie.php'); // Espace Lucie
                        0
                        1. Pour changer le mot de passe, il faut changer "cce0207" par une autre valeur.
                          Normalement, il n'y a pas d'erreur, qu'a tu rentré dans les champs de saisi pour obtenir cette erreur ?
                          0
                          1. j mi ta page comme ça sans changer les valeur exprès

                            login j taper

                            Lucie
                            et le passe j'ai mi ça " ce0207 "

                            et voici l'erreur que cela me donne
                            Warning: Cannot modify header information - headers already sent by (output started at /homez.221/coolguet/www/site2/login.php:7) in /homez.221/coolguet/www/site2/login.php on line 27
                            0
                            1. Je ne sais pas ... tout marche niquel pour moi :
                              test.php : Formulaire
                              page_lucie.php : J'ai mis juste une phrase pour confirmer que l'on est bien sur la page.
                              page_pierre.php : pareil que pour page_lucie.php
                              0
                          2. Warning: Cannot modify header information - headers already sent by (output started at /homez.221/coolguet/www/site2/login.php:7) in /homez.221/coolguet/www/site2/login.php on line 27

                            Comportement normal de PHP qui n'accepte pas l'envoi d'informations au navigateur AVANT l'utilisation de la fonction header().
                            Modifie ton code pour que la partie traitement PHP du formulaire soit avant TOUT code HTML y compris AVANT la balise DOCTYPE

                            Une simple lecture de la doc PHP sur ce sujet évite des post inutiles...
                            -1