2017-02-25 1 views
-1

Je suis confronté à un problème dans la page de connexion. Lorsque j'appuie sur le bouton de connexion, cela me mène au panneau de l'utilisateur uniquement si la case à cocher Se souvenir de moi est cochée. s'il n'est pas coché, il reste sur la page de connexion. Je ne peux pas comprendre l'erreur.Connexion Erreur de page

include("Database/database.php"); 
session_start(); 
if(isset($_COOKIE['username']) and isset($_COOKIE['passcode'])) { 
    $username = $_COOKIE['username']; 
    $passcode = $_COOKIE['passcode']; 

    $_SESSION['name'] = $username; 
    $_SESSION['pwd'] = $passcode; 

    header("Location: useraccount.php"); /*Checks if cookies are set then takes me directly to useraccount.php */ 

    } else if (isset($_POST['login'])) { 
     $username = $_POST['username']; 
     $userpwd = $_POST['userpwd']; 
     $rem = $_POST['remember']; 

     $query = "SELECT * FROM login WHERE userName = '$username' AND Password = '$userpwd'"; 

     $result = mysqli_query($link, $query); 
     $row = mysqli_num_rows($result); 

     if ($row > 0) { 
      $_SESSION['name'] = $username; 
      $_SESSION['pwd'] = $userpwd; 

      if (isset($_POST['remember']))  /*if remember me checkbox is checked than it set cookies and it takes me to useraccount.php page. But if I donot check the check box (remember me) than I am where I am on login page. */ 
      { 
       setcookie("username", $username, time()+60*60*7); 
       setcookie("passcode", $userpwd, time()+60*60*7); 
      } 

      header("Location: useraccount.php");  /* It should procees to    useracocunt.php page but it stays on login.php*/ 
     } else { 
      header("Location: login.php");  /*Used this for testing purpose if login fails it takes me to homepage which is working fine*/ 
     } 
     mysqli_close($link); 

    } 
} 

Répondre

1

J'ai trouvé une solution à ce problème. c'était toute mon erreur comme je redirigais l'en-tête à la page de connexion si je n'ai pas mis les cookies.

  • Donc, si vous problème auquel sont confrontés liés à en-tête vérifier si vous dirigez à bon emplacement « url » pour ce fichier ou
  • il doit y avoir une erreur d'orthographe.
0

ajouter instruction if à la joue est enregistrée pour vous session.Becuase ajouter session, mais, nulle part pour vérifier cela.

<?php 
     include("Database/database.php"); 
     session_start(); 

     if(isset($_COOKIE['username']) and isset($_COOKIE['passcode'])) 
     { 
      $username = $_COOKIE['username']; 
      $passcode = $_COOKIE['passcode']; 

      $_SESSION['name'] = $username; 
      $_SESSION['pwd'] = $passcode; 

      header("Location: useraccount.php"); /*Checks if cookies are set then takes me directly to useraccount.php */ 

     } 

     else if(isset($_POST['login'])) 
     { 
      $username = $_POST['username']; 
      $userpwd = $_POST['userpwd']; 
      $rem = $_POST['remember']; 

      $query = "SELECT * FROM login WHERE userName = '$username' AND Password = '$userpwd'"; 

      $result = mysqli_query($link, $query); 
      $row = mysqli_num_rows($result); 

      if($row > 0) 
      { 
       $_SESSION['name'] = $username; 
       $_SESSION['pwd'] = $userpwd; 

       if (isset($_POST['remember']))  /*if remember me checkbox is checked than it set cookies and it takes me to useraccount.php page. But if I donot check the check box (remember me) than I am where I am on login page. */ 
       { 
        setcookie("username", $username, time()+60*60*7); 
        setcookie("passcode", $userpwd, time()+60*60*7); 
       } 

       header("Location: useraccount.php");  /* It should procees to    useracocunt.php page but it stays on login.php*/ 
      } 

      else 
      { 
       header("Location: login.php");  /*Used this for testing purpose if login fails it takes me to homepage which is working fine*/ 
      } 
      mysqli_close($link); 

     } if (isset($_SESSION['name']) and isset($_SESSION['pwd'])){ 

header("Location: useraccount.php");  /* It should procees to    useracocunt.php page but it stays on login.php*/ 

} 

     ?> 
+0

Salut, je l'ai déjà fait et cela n'aide pas, Vous voyez quand se souvenir est une exception si l'utilisateur vérifie que les cookies sont réglés, Il doit toujours être connecté à son compte. –

+0

J'ajoute si l'instruction pour vérifier la session est définie, donc cela manquait. Merci d'essayer d'ajouter ceci. –

+0

Mais assurez-vous dans useraccount.php vous vérifiez non seulement pour cookie, mais aussi et session .. –

1

J'ai aidé j'avais le même problème. Je le redirigeais vers la même page de connexion après la connexion. Je n'ai pas défini mes conditions de cookies correctement