2015-10-16 64 views
-2

我遇到$ _SESSION问题,我将粘贴代码并解释。

我有一个指标,其中包括

<div class="confidential__field text-align-center"> 
    <table> 
     <tbody> 
      <tr> 
       <td><label for="email">Email</label></td> 
       <td><input type="text" id="email" name="email"></input></td> 
      </tr> 
      <tr> 
       <td><label for="pwd">password</label></td> 
       <td><input type="password" id="pwd" name="pwd"></input></td> 
      </tr> 
      <tr> 
       <td><a href="?action=register">Don't have an account ?</a></td> 
       <td><button form="form" id="login">Send</button></td> 
      </tr> 
     </tbody> 
    </table> 
</div> 

的index.php我们有这个(缩短的版本,是的,我已经在session_start()在index.php文件的开头):

<?php 
session_start(); 
include("_include/_stuff/config.php");?> 
<!doctype html> 
<html> 
    <?php include("_general/head.php");?> 
    <body> 
     <?php 
     include("_include/login.php"); 
     if(isset($_SESSION['ID']) && !empty($_SESSION['ID']))include("_include/header.php"); 
    ?> 
</body> 
</html> 

然后脚本:

$(document).ready(function(){ 
     $("#login").click(function(){ 
          $.post("_ajax/clientMain.php",{ 
           login: 1, 
           email: $("input#email").val(), 
           pwd: $("input#pwd").val() 
          }, 
           function(data){ 
            if(data==1){ 
             //alert(data); 
             // alert("SESSION SET"); 
             location="index.php"; 
            }else{ 
             alert(data); 
            } 
           } 
          ) 
         }); 
}); 

,然后实际的PHP检查:

session_start();  
if(isset($_POST['login']) && !empty($_POST['login'])){ 
     $conn = db_connect(); 

    $email = db_quote($_POST['email']); 
    $pwd = db_quote($_POST['pwd']); 

    $query_attendance = mysqli_query($conn, "select * from user where email=$email and password=$pwd"); 
    if(mysqli_num_rows($query_attendance) > 0){ 
     $credentials = mysqli_fetch_array($query_attendance, MYSQLI_ASSOC); 
     if(!empty($credentials)){ 
      $_SESSSION['ID'] = $credentials['userID']; 
      echo 1; 
     }else{ 
      echo 82; 
     } 
    }else{ 
     echo 45; 
    } 
}else{ 
    echo 111; 
} 

我在Windows上运行XAMPP(本地主机)10

注意:我不编码的密码,因为我只是做基本的测试中,我几乎failling!

编辑: attrbuiting的ID到会议结束后,会议不会保存到的index.php,因为如果我做的var_dump($ _ SESSION)或echo $ _SESSION [ “ID”]我收到什么,但如果我使用登录脚本中的数据进行响应,而不是echo 1,我会有echo $_SESSION["ID"],那么我将获得会话/ ID,但它不会以某种方式传输到index.php页面!

+0

您添加了很多代码,但没有描述实际问题。 – GolezTrol

+0

你能详细说明这个问题吗? – Crackertastic

+0

是您的查询返回用户? – taxicala

回答

3

你有一个错字,检查它是否只有在这里你的问题的代码或在您的实际代码,以及:

$_SESSSION['ID'] = $credentials['userID']; 

应该是:

$_SESSION['ID'] = $credentials['userID']; 

你有一个额外S

+0

实际上是这样!我不能相信我已经错过了:( 我一直在这个像4小时左右,我的眼睛正在燃烧!!! 谢谢! – Sashka

+0

没问题。很高兴帮助:) – taxicala