我有这些代码的会话页面
session_start();
if (!isset($_SESSION['id'])){
header('location:order.php');
}
$ses_id = $_SESSION['id'];
我将它包含在我的登录页面(order.php)
<?php include('session.php'); ?>
这是登录脚本和函数
$username = clean($_POST['username']);
$password = md5($_POST['password']);
$apollos=$username;
$query=Login($username,$password);
$count = mysql_num_rows($query);
$row = mysql_fetch_array($query);
$phone=$row['Contact_Number'];
DeleteActivation($username);
if ($count > 0) {
$_SESSION['id'] = $row['memberID'];
UserPin($username,$pin,$member);
$From='eFarms';
$Message='Your User Login Pin from St. Apollos eFarms is '.$pin;
die("<script>location.href = 'login_sms.php'</script>");
session_write_close();
} else {
session_write_close();
}
这是我的Pin验证页面
<?php include('header.php'); ?>
pin = clean($_POST['pin']);
$query=CheckPin($username,$pin,$member);
$count = mysql_num_rows($query);
$row = mysql_fetch_array($query)
if ($count > 0) {
$_SESSION['id'] = $row['memberID'];
die("<script>location.href = 'user_home.php'</script>");
session_write_close();
} else {
session_write_close();
}
有人应该检查这些代码,更正并告诉我如何以用户名的身份接收到USer主页的会话。
答案 0 :(得分:0)
在会话开始之前,您必须在每个脚本或公共脚本文件中检查会话是否已经开始或不同。
if (!isset($_SESSION)) {
session_start();
}
编辑:
不需要上述条件,因为它在内部检查文档中的描述 - http://php.net/manual/en/function.session-start.php
session_start();
答案 1 :(得分:0)
首先,由其他人提供,你使用非常糟糕和不安全的方法! 尝试使用更容易的PDO(当你理解它是如何工作的时候),它更加安全!
其次,你的编码不是那么干净,我想这就是为什么你自己找不到问题的原因!
最后,我想你错过了:
session_start();
在你的代码的某些部分!