在PHP中启动多个会话
当用户登录时,我尝试启动3个会话。在PHP中启动多个会话,php,Php,当用户登录时,我尝试启动3个会话。 但是唯一正在启动的会话是$email=$\u POST['email'] 这是我的代码。 if(isset($_POST['log'])) // code to be executed when login button is clicked { $email=$_POST['email']; $password=$_POST['Password']; $query= "SELECT * FROM student WHER
但是唯一正在启动的会话是
$email=$\u POST['email']
这是我的代码。
if(isset($_POST['log'])) // code to be executed when login button is clicked
{
$email=$_POST['email'];
$password=$_POST['Password'];
$query= "SELECT * FROM student
WHERE EmailAddress = '$email' AND Password = '$password'";
$query_run = mysqli_query($con,$query);
if(mysqli_num_rows($query_run)>0)
{
//checks the database where this user exist or not
$_SESSION['email']=$email;
$_SESSION['StudentID']=$student;
$_SESSION['OfferingID']=$Offering;
header('location: profile.php'); //
}
else
{
echo '<script type = "text/javascript"> alert("Invalid Credentials or Not yet registered!") </script>';
}
}
if(isset($\u POST['log'])//单击登录按钮时要执行的代码
{
$email=$_POST['email'];
$password=$_POST['password'];
$query=“从学生中选择*
其中EmailAddress='$email'和Password='$Password';
$query\u run=mysqli\u query($con,$query);
如果(mysqli\u num\u行($query\u run)>0)
{
//检查此用户是否存在的数据库
$\会话['email']=$email;
$\u会话['StudentID]=$student;
$\会话['OfferingID]=$Offering;
标题('location:profile.php')//
}
其他的
{
回显“警报(“无效凭据或尚未注册!”);
}
}
假设studentID和产品来自数据库记录,则需要从获取的记录中获取数据并提取这些字段
类似于
$student = mysqli_fetch_assoc($query_run);
$_SESSION['email']=$email;
$_SESSION['StudentID']=$student['studentID'];
$_SESSION['OfferingID']=$student['OfferingID'];
首先在您的代码中获得$student和$providing内部条件,如下所示
if(isset($_POST['log'])) // code to be executed when login button is clicked
{
$email=$_POST['email'];
$password=$_POST['Password'];
$query= "SELECT * FROM student
WHERE EmailAddress = '$email' AND Password = '$password'";
$query_run = mysqli_query($con,$query);
if(mysqli_num_rows($query_run)>0)
{
//fetch array and get values for studentid and offeringid
$student = mysqli_fetch_assoc($query_run);
$_SESSION['email']=$email;
$_SESSION['StudentID']=$student['studentID'];
$_SESSION['OfferingID']=$student['OfferingID'];
header('location: profile.php'); //
}
else
{
echo '<script type = "text/javascript"> alert("Invalid Credentials or Not yet registered!") </script>';
}
}
if(isset($\u POST['log'])//单击登录按钮时要执行的代码
{
$email=$_POST['email'];
$password=$_POST['password'];
$query=“从学生中选择*
其中EmailAddress='$email'和Password='$Password';
$query\u run=mysqli\u query($con,$query);
如果(mysqli\u num\u行($query\u run)>0)
{
//获取数组并获取studentid和offeringid的值
$student=mysqli\u fetch\u assoc($query\u run);
$\会话['email']=$email;
$_SESSION['StudentID']=$student['StudentID'];
$\会话['OfferingID']=$student['OfferingID'];
标题('location:profile.php')//
}
其他的
{
回显“警报(“无效凭据或尚未注册!”);
}
}
这里我再次设置了check会话启动();
session_start();
if(isset($_POST['log']))
{
$email=$_POST['email'];
$password=$_POST['Password'];
$query= "SELECT * FROM student WHERE EmailAddress = '$email' AND Password = '$password'";
$query_run = mysqli_query($con,$query);
if(mysqli_num_rows($query_run)>0)
{
$fetch_student_data = mysqli_fetch_assoc($query_run);
$select_offer_id = mysqli_query($con,"SELECT * FROM Participants where studentID=".$fetch_student_data['StudentID']);
$fetch_offer_id = mysqli_fetch_assoc($select_offer_id);
$_SESSION['email']=$email;
$_SESSION['StudentID']=$fetch_student_data['StudentID'];
$_SESSION['OfferingID']=$fetch_offer_id['OfferingID'];
header('location: profile.php'); //
}
else
{
echo '<script type = "text/javascript"> alert("Invalid Credentials or Not yet registered!") </script>';
}
}
如果(isset($_POST['log']))
{
$email=$_POST['email'];
$password=$_POST['password'];
$query=“从学生中选择*,其中EmailAddress='$email'和Password='$Password';
$query\u run=mysqli\u query($con,$query);
如果(mysqli\u num\u行($query\u run)>0)
{
$fetch\u student\u data=mysqli\u fetch\u assoc($query\u run);
$select_offer_id=mysqli_query($con,“select*FROM Participants where studentID=“.$fetch_student_data['studentID');
$fetch\u offer\u id=mysqli\u fetch\u assoc($select\u offer\u id);
$\会话['email']=$email;
$_SESSION['StudentID']=$fetch_student_data['StudentID'];
$\u会话['OfferingID']=$fetch\u OfferingID['OfferingID'];
标题('location:profile.php')//
}
其他的
{
回显“警报(“无效凭据或尚未注册!”);
}
}
我已经编辑了我的答案。只需检查字段和表名是否正确。
其余代码已设置
快乐编码…你所说的开始是什么意思?您是否启动了会话(
session\u start()
)?而且$email=$\u POST['email']
不是$\u会话的一部分
首先定义$student和$offering变量…我看不到$student
和$offering
是initialized@Swellar这就是我要说的…对不起…是的,我确实启动了会话…问题是,即使我有session start()
…但当我使用print\r函数时,
…它只打印$\u session['email']=$email代码>但不是其他。我可以将此插入isset函数中吗
?这是可以纠正的$student=mysqli\u fetch\u assoc($query\u run)$_会话['email']=$email$_会话['StudentID']=$student['StudentID']$_会话['OfferingID']=$student['OfferingID'];