2014-11-15 3 views
0

У меня есть моя индексная страница, которая перенаправляется отлично без включенных сессий PHP. Когда я включил его и ввел правильное имя пользователя и пароль, он, похоже, не сможет передать сеанс имени пользователя с перенаправлением. Поэтому он видит сессию пустой и перенаправляет меня обратно на индексную страницу.PHP-сессия не работает на индексной странице

здесь моя Главной страница

<?php 
session_start(); 
?> 


<!DOCTYPE html> 
<head> 
    <meta charset = "utf-8"> 
    <meta name="viewport" content="width=device-width, initial-scale=1"> 
    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> 

    <title> RBH-PAS system </title> 

    <link rel = "stylesheet" type ="text/css" href = "pascss/index.css " > 
    <script type="text/javascript"> 
    $(document).ready(function(){ 
      $(function() { 
       $("#login1").on("submit", function(event) { 
        event.preventDefault(); 

        $.ajax({ 
         url: "login.php", 
         type: "post", 
         data: $(this).serialize(), 
         success: function(d) { 
         var r = d; 
          if(r==2){window.location ="patient.php"; } 
          else if(r==1){window.location="clinician.php";} 
          else{alert("incorrect user details entered"); 
           window.location="index.php"; 
           } 

         } 
        }); 
       }); 
      }); 
     }); 
     </script> 

</head> 

<body> 

    <h1><CENTER> WELCOME TO PAS DASHBOARD</CENTER></h1> 

    <div id="login"> 

     <h2><span class="fontawesome-lock"></span>Sign In</h2> 


     <form id ="login1" name ="login1" method="post"> 
      <fieldset> 

       <p><label for="username">Username</p> 
       <p><input type="text" id ="username" name="username" placeholder="Enter username" required></p> 

       <p><label for="password">Password</label></p> 
       <p><input type="password" id="password" name="password" placeholder="Enter password" required></p> 

       <p><input type="submit" id ="submit" value="Sign In" /></p> 

       </fieldset> 

</body> 
</html> 

и вот моя страница Логина, который я инициировать сеанс в

<?php 

require_once"conn.php"; 
session_start(); 


if($_SERVER['REQUEST_METHOD']=='POST'){ 

//recieve credentials from the user 
$username = mysqli_real_escape_string($conn, $_POST['username']); 
$password = mysqli_real_escape_string($conn, $_POST['password']); 


//check the variables recieved are not empty 
    if($username != '' && $password != ''){ 

     $sql = "SELECT *FROM staff WHERE username ='$username' AND password = '$password' ";//create an sql statement 
     $result = $conn->query($sql);//run sqlm statement 
     $row = $result->fetch_assoc(); //fetch row of data 

      if($result->num_rows == 1){//check if user exist as a doctor 



        if($row["role"]== "clinician"){ //check if user exist as a clinician 
        $send = 1; 
        echo $send;} 

         else if($row["role"]== "doctor"){ //check if user exist as a clinician 
         $send = 2; 
         echo $send;} 

      }else{//if user doesn't exist 
         $_SESSION["myusername"] = ''; 
         $send = 3; 
         echo $send;} 
    } 
} 
else{$conn=null;} 

?> 

и вот как я могу проверить на других страницах для пользователя вошли в

<?php 
session_start(); 
if (!(isset($_SESSION['username']) && $_SESSION['username'] != '')) { 
header ("Location: index.php");} 

?>

ответ

2

вы никогда не устанавливаете $_SESSION['username'] на любое значение на своей странице входа.

+0

только что добавил, и он сработал. большое спасибо – Nurettin

+0

добро пожаловать! пожалуйста, отметьте мой ответ, как принято тогда. –

Смежные вопросы