在其他页面中输出会话时出错

时间:2018-06-14 13:56:50

标签: php session mysqli

我用PHP在会话中创建了一个登录页面。一切进行得都很顺利。但是当我尝试在其他页面输出会话时。它给我通知

  

注意:未定义的变量:第81行的C:\ xampp \ htdocs \ COIN网站\ test5.php中的电子邮件

     

注意:未定义的变量:第82行的C:\ xampp \ htdocs \ COIN网站\ test5.php中的电子邮件

     

注意:未定义的变量:第84行的C:\ xampp \ htdocs \ COIN网站\ test5.php中的电子邮件

我不知道什么是错的。实际上,我是PHP的新手。

这是登录页面

<?php
session_start();

        if (isset($_POST['submit'])) {

           $servername = "localhost";
           $username = "root";
           $password = "";
           $db_name = "coins";

         $con = mysqli_connect("$servername", "$username", "$password","$db_name");

        $email = mysqli_real_escape_string($con, $_POST['email']);
        $eth = mysqli_real_escape_string($con, $_POST['eth']);
        if (empty($email) || empty($eth)) {
           header("Location: home.php?Login=Empty_fields");
          exit();
        } else{
          $sql = "SELECT * FROM users WHERE email='$email' ";
          $result = mysqli_query($con, $sql);
          $resultCheck = mysqli_num_rows($result);

          if ($resultCheck < 1) {
             header("Location: home.php?Login=user_does_not_exist");
          exit();
          }

        else {
           $check = mysqli_query($con, "SELECT email FROM users WHERE eth='$eth'");
             if (mysqli_num_rows($check) >= 1) {
                $_SESSION['email'] = $row['email'];
             $_SESSION['eth'] = $row['eth'];
      header("Location: pow.php?Login=Success");
             } else {
       header("Location: home.php?Login=invaild_email_or_eth address");

          }
        }
         }
             }else {
             header("Location: home.php?Login=Error");
                   exit();
           }
              ?>

和其他页面代码

if (isset($_POST['submit'])) {
$servername = "localhost";
  $user = "root";
     $password = "";
    $dbname = "coins";

      // Create connection
         $conn = new mysqli($servername, $user, $password, $dbname);
         // Check connection
              if ($conn->connect_error) {
           die("Connection failed: " . $conn->connect_error);
      } 

     $_SESSION['email'] = $email;
        echo $email;
         $sql = "INSERT INTO profile (email, action_points)
         VALUES ('$email' , '0.003')";



    if ($conn->query($sql) === TRUE) {
     echo "success";
         } else {
echo "Error: " . $sql . "<br>" . $conn->error;
     }

       $conn->close();
      }
    ?>

1 个答案:

答案 0 :(得分:0)

你可以这样试试。你得到会话变量值你做错了。

 <?php session_start();

 // check session  

 if(isset($_SESSION['email']))

 {

 $email = $_SESSION['email'];

 // Now you can do your stuff

 }

 else 

 {

 echo "session not set for email";

 die;

}