在mysql select query中的where子句中比较session变量

时间:2017-02-09 21:34:37

标签: php html mysql

希望开发人员,请把我排序,我有两个php文件,在第一个文件(login.php)中我声明了一个会话变量$ _SESSION ['email'];并将用户输入分配到其中,在第二个文件中,我放置一个select查询并使用该会话变量来比较查询的where子句中的数据库列,但会话变量在index.php文件中报告未定义的索引

我实际上希望查询检查数据库列是否为marthar然后回显一些html元素

的login.php

    $email = '".$_POST['email']."';
    $_SESSION['email']=$email;

电子邮件是我的html输入的名称

的index.php

    <?php
                $query=mysqli_query($db_handle,"SELECT * FROM members WHERE email='".$_SESSION['email']."'");
    $row=mysqli_fetch_array($query);

    if(is_array($row)){
    if($row['model']=='Marthar'){

    echo "<li>
    <a href='settings.php' class=' hvr-bounce-to-right'><i class='fa fa-cog nav_icon'></i> <span class='nav-label'>Settings</span> </a>
    </li>"; 
   }
   }

   ?>

3 个答案:

答案 0 :(得分:2)

login.php中,请使用以下内容并在您的php页面上添加session_start();

$email="";
if (isset($_POST['email'])) { 
    $email=$_POST['email']; 
} else {
    $email='';
}
$_SESSION['email']=$email;

答案 1 :(得分:1)

session_start()添加到第二个文件的顶部。这应该使会话变量可用。

答案 2 :(得分:0)

添加

session_start();

在index.php和login.php

之上

更改

 $email = '".$_POST['email']."';

 $email = $_POST['email'];

在登录和索引php中添加var_dump($_SESSION);以确保设置会话并且值存在。并将var_dump($_POST);添加到您的登录信息中