gpt4 book ai didi

php - 无法获取 $_SESSION 变量

转载 作者:可可西里 更新时间:2023-11-01 13:17:36 26 4
gpt4 key购买 nike

this error
Log-in.php我有

  $email=$_POST['email']; 
$pass=$_POST['pass'];
$_SESSION['type'] = 'user';
$_SESSION['email'] = $email;
$_SESSION['pass']=$pass;
header('location:./connect.php');

我收到类似这样的错误undefined index email 用于其他用户登录,在另一端我可以在这里以管理员身份登录..

我有一个登录表单,可以看到这是什么类型的登录,并在此 connect.php 中的 session 中传递该类型,它会检查它是什么类型,然后继续它运行良好,但不幸的是出现错误,无法再修改。

登录表单是用户、管理员和代理的一种表单,我可以在其中以管理员身份登录,但我无法以其他方式登录,它显示错误

if(empty($_SESSION))
{
session_regenerate_id();
session_start();
}
@mysql_connect('localhost','root','') or die("ERROR in SERVER");
@mysql_select_db('module') or die("ERROR IN DATABASE");

$_SESSION['start'] = time(); // taking now logged in time

if(!isset($_SESSION['expire'])){
$_SESSION['expire'] = $_SESSION['start'] + (60* 60) ; // ending a session in 30 seconds
}
$now = time(); // checking the time now when home page starts

if($now > $_SESSION['expire'])
{
session_destroy();

}

if(!empty($_SESSION['type']))
{
$email = $_SESSION['email'];
$pass = $_SESSION['pass'];
$type = $_SESSION['type'];


// admin login //
if($type == 'admin'){




$admin = mysql_query("SELECT * FROM `admin` WHERE `email` ='$email' ");
$res = mysql_fetch_array($admin);
if($email == "" || $pass == "" || $email != $res['email'] || $pass != $res['pass'])
{
header('location:./login/login.php');
}

}


// user login //
if($type == 'user')
{
$email = $_SESSION['email'];
$pass = $_SESSION['pass'];
$type = $_SESSION['type'];
$user = mysql_query("SELECT `id` FROM `users` WHERE `email`='$email' AND `status`='1'");
$useres = mysql_fetch_array($user);
// $trail = $useres['date'];
// $time = explode("/",$trail);


if($email != $useres['email'] || $pass != $useres['pass'])

{
echo mysql_error();
// header('location:./login/login.php');
}

else if($pass = $useres['pass']){
// echo '<script> location.replace("./user.php"); </script>';
}
}


// agent login //
if($type == 'agent')
{

$email = $_SESSION['email'];
$pass = $_SESSION['pass'];
$type = $_SESSION['type'];
$agent = mysql_query("SELECT `id` FROM `sale_agents` WHERE `email`='$email'");
$agentres = mysql_fetch_array($agent);
if($email != $agentres['email'] || $pass != $agentres['pass'])
{
header('location:./login/login.php');

}
else if($pass = $agentres['pass']){
// echo '<script> location.replace("./agent.php"); </script>';
}
}
}
else{
header('location:./login/login.php');
}

以一种方式我收到错误,以另一种方式页面也显示电子邮件现在该怎么办? enter image description here

最佳答案

类(class)循序渐进

  1. 在一切之前定义 session ,在此之前不应有输出,NO OUTPUT

    <?php
    session_start();
    ?>
  2. 在页面中设置您的 session ,然后您就可以访问该页面,例如这是page 1.php

    <?php
    //This is page 1 and then we will use session that defined from this page:
    session_start();
    $_SESSION['email]='email@example.com';
    ?>
  3. 2.php

    中使用和获取 session
     <?php
    //In this page I am going to use session:
    session_start();
    if($_SESSION['email']){
    echo 'Your Email Is Here! :) ';
    }
    ?>

注意:评论没有输出。


也许可以回答你的问题:

我认为您没有设置 session ,因此 PHP 不知道该 session 变量。

Your login should be like this

  <?php
session_start();
$email=$_POST['email'];
$pass=$_POST['pass'];
$_SESSION['type'] = 'user';
$_SESSION['email'] = $email;
$_SESSION['pass']=$pass;
header('location:./connect.php');
?>

关于php - 无法获取 $_SESSION 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27577605/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com