2015-02-16 1 views
0

Хорошо, я заставил вас создать систему регистрации, но когда я попытался сделать систему входа в систему, она не сработала. Когда пользователь входит в систему с правильным именем пользователя и паролем, его сообщение «Вы вошли в систему», но когда я обновляю сайт, он говорит, что мне нужно войти в систему. И я должен спросить, как я могу проверить, пользователь вошел в exempel Если пользователь вошел в так эхо это, и если не так повторить это ..Mysqli логин подготовил выписки

Вот мой код:

session_start(); 
      require 'inc/connect.php'; 

      if(isset($_POST['name'], $_POST['password'])){ 
       if(!empty($_POST['name'])){ 
        if(!empty($_POST['password'])){ 


         $username = $_POST['name']; 
         $password = $_POST['password']; 
         $user = $_SESSION['name']; 

         // KRYPTERING 
         $md5 = md5($password); 
         $sha1 = sha1($md5); 
         $crypt = crypt($sha1, 'st'); 
         $md51 = md5($crypt); 
         $sha12 = sha1($md51); 
         $crypt1 = crypt($sha12, 'st'); 
         $kode = base64_encode($crypt1); 

         $check = $mysqli->prepare("SELECT username, password FROM user WHERE username=? && password=?"); 
         $check->bind_param("ss", $username, $kode); 
         $check->execute(); 
         $check->bind_result($username, $kode); 
         $print = $check->fetch(); 
         $check->close(); 

         if ($print) 
          echo "You are now logged in!"; 
         else 
          echo "Username/Password was incorrect!"; 

        } else 
         echo "You need something!"; 
       } else 
        echo "You need something!"; 
      } 
+4

Потому что вы ничего не устанавливая на сессии заявив Войти был успешным, и не проверяя то же самое в верхней части страница. (Например, вы можете поместить имя пользователя в сеанс, когда логин будет успешным.) – developerwjk

+0

Как это сделать? –

ответ

0

Вам нужно поместите имя пользователя в сеанс при успешном входе в систему, чтобы проверить его в верхней части страницы и перенаправить на другой, когда он уже установлен.

session_start(); 
      require 'inc/connect.php'; 

if(isset($_SESSION['username'])) 
{ 
    //already logged in, redirect 
    header('Location: otherpage.php'); 
    exit; 
} 

      if(isset($_POST['name'], $_POST['password'])){ 
       if(!empty($_POST['name'])){ 
        if(!empty($_POST['password'])){ 


         $username = $_POST['name']; 
         $password = $_POST['password']; 
         $user = $_SESSION['name']; 

         // KRYPTERING 
         $md5 = md5($password); 
         $sha1 = sha1($md5); 
         $crypt = crypt($sha1, 'st'); 
         $md51 = md5($crypt); 
         $sha12 = sha1($md51); 
         $crypt1 = crypt($sha12, 'st'); 
         $kode = base64_encode($crypt1); 

         $check = $mysqli->prepare("SELECT username, password FROM user WHERE username=? && password=?"); 
         $check->bind_param("ss", $username, $kode); 
         $check->execute(); 
         $check->bind_result($username, $kode); 
         $print = $check->fetch(); 
         $check->close(); 

         if ($print) 
         { 
          //redirect to different page for the message 
          //echo "You are now logged in!"; 
          $_SESSION['username'] = $username; 
          header('Location: otherpage.php'); 
          exit; 
         } 
         else 
          echo "Username/Password was incorrect!"; 

        } else 
         echo "You need something!"; 
       } else 
        echo "You need something!"; 
      } 

Тогда в других страницах, вы хотите что-то вроде:

session_start(); 
if(!isset($_SESSION['username'])) 
{ 
    //not logged in, redirect to login form 
    header('Location: login_form.php'); 
    exit; 
} 
+0

И в otherpage.php, как я могу проверить, вошел ли он в систему или нет? –

+0

@HalaKeblawi Добавил это к ответу. – developerwjk

+0

Когда я вхожу в журнал, он не может войти в otherpage.php, он сказал, что не может подключиться к веб-сайту, а другая страница не может подключиться, но когда я удалю session_start(); if (! Isset ($ _ SESSION ['username'])) { // не вошел в систему, переадресовывается в форму входа header ('Location: login_form.php'); выход; } У меня была связь с сайтом? –