2015-12-28 2 views
-1

Я работаю на локальном и пытается создать систему входа, но моя сессия начинается не, вот мой PHP кодаPhp сессия начинается не

if(isset($_POST['_submit'])){ 
      session_start(); 
      if(empty($_POST['_email']) || empty($_POST['_password'])){ 
       echo "<script>window.alert('Invalid User EMAIL or PASSWORD!')</script>"; 
      } 
      else{ 

       $email = $_POST['_email']; 
       $password = $_POST['_password']; 

       $select_user = "SELECT email,password FROM signup WHERE email='$email' AND password='$password'"; 
       $query = mysqli_query($conn,$select_user); 
       $rows = mysqli_num_rows($query); 

       if($rows>0){ 
        $_SESSION['user_email'] = $email; 
        header('Location: ../index.php'); 
       } 
       else{ 
        echo "<script>window.alert('Invalid User EMAIL or PASSWORD!')</script>"; 
       } 

      } 
     } 

и после начала сеанса я хочу изменить в HTML коде , вот мой код

<?php if(!empty($_SESSION['user_email'])){ ?> 
<li><a href="#">Logout</a></li> 
<?php } else { ?> 
<li><a href="login/index.php">Login</a></li> 
<li><a href="signUp/index.php">Sign Up</a></li> 
<?php } ?> 

вот мой HTML код системы авторизации

<div class="outside"> 
      <form class="form-horizontal" role="form" method="post"> 
       <div class="form-group"> 
        <label class="control-label col-sm-3 glyphicon glyphicon-user" for="email"></label> 
        <div class="control-label col-sm-8"> 
         <input type="_email" name="_email" class="form-control" id="email" placeholder="Enter Email"> 
        </div> 
       </div> 
       <div class="form-group"> 
        <label class="control-label col-sm-3 glyphicon glyphicon-lock" for="password"></label> 
        <div class="control-label col-sm-8"> 
         <input type="password" name="_password" class="form-control" id="password" placeholder="Enter Password"> 
        </div> 
       </div> 
       <div class="form-group"> 
        <div class="col-sm-offset-3 col-sm-3"> 
         <button name="_submit" type="submit" class="btn btn-default" >Login</button> 
        </div> 
       </div> 
      </form> 
      <p>Not a User? <a href="../signUp/index.php">Sign Up</a></p> 
     </div> 

Спасибо,

+0

Пожалуйста, разместите свой html-код также ... done –

+0

html код системы входа? –

+0

да пожалуйста ... сделано –

ответ

2

Кроме того, необходимо, чтобы начать сеанс, где вам необходимо работать с сеансом

<?php 
session_start(); 
if(isset($_SESSION['somekey'])) 
{ 
     //code here 
} 
-1

session_start() должна быть за пределами вашего Условный оператор и, как правило, всегда выполняется до любого из вашего PHP кода будет выполнять ,

session_start(); 
if(isset($_POST['_submit'])){ 

Включите session_start() в верхней части всех ваших файлов PHP, где вы хотите проверить данные сеанса. Если у вас есть централизованный файл конфигурации, просто поставьте его там.

+1

Я также начинаю сеанс вне if, но ничего не происходит –

+0

У вас есть session_start в верхней части вашего файла index.php корневого уровня тоже? Вы должны поместить его в свой файл index.php, если его там нет. – Clay

1

Объявление session_start() перед тегом <html>. посмотрите, работает ли он.

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