Php登录,无法继续会话
因此,基本上我正在尝试运行一个登录系统,并使用用户的数据实时更新页面,不幸的是,我无法继续会话,每次尝试回显用户时都没有发生任何事情,下面是我的登录代码Php登录,无法继续会话,php,mysql,database,session,login,Php,Mysql,Database,Session,Login,因此,基本上我正在尝试运行一个登录系统,并使用用户的数据实时更新页面,不幸的是,我无法继续会话,每次尝试回显用户时都没有发生任何事情,下面是我的登录代码 <?php $host="IPADRESS"; // Host name $username="web11-sign-up"; // Mysql username $password="w0lfbane01#"; // Mysql password $db_name="web11-sign-up"; // Database
<?php
$host="IPADRESS"; // Host name
$username="web11-sign-up"; // Mysql username
$password="w0lfbane01#"; // Mysql password
$db_name="web11-sign-up"; // Database name
$tbl_name="members"; // Table name
// Connect to server and select databse.
mysql_connect("$host", "$username", "$password")or die("cannot connect");
mysql_select_db("$db_name")or die("cannot select DB");
// username and password sent from form
$myusername=$_POST['myusername'];
$mypassword=$_POST['mypassword'];
// To protect MySQL injection (more detail about MySQL injection)
$myusername = stripslashes($myusername);
$mypassword = stripslashes($mypassword);
$mypassword = md5($mypassword);
$myusername = mysql_real_escape_string($myusername);
$mypassword = mysql_real_escape_string($mypassword);
$sql="SELECT * FROM $tbl_name WHERE username='$myusername' and password='$mypassword'";
$result=mysql_query($sql);
// Mysql_num_row is counting table row
$count=mysql_num_rows($result);
// If result matched $myusername and $mypassword, table row must be 1 row
if($count==1){
// Register $myusername, $mypassword and redirect to file "login_success.php"
$_SESSION["$myusername"];
$_SESSION["$mypassword"];
header("location:Scene-Selection/");
}
else {
echo "Wrong Username or Password";
}
?>
直到我开始在网站的另一个部分工作,我才意识到这个部分不起作用。我无法从数据库中检索任何信息。您忘记了
session_start();
在页面顶部。您是否在每页顶部开始会话 确保您正在调用会话\u start;在你想使用会话的每个页面顶部的某个地方 我个人在每个页面的顶部都包含一个application.php,其中包含数据库连接详细信息、会话_start;,全局函数等。您缺少 会议开始;在会议的顶部 您还可以从以下位置更改登录:
// Register $myusername, $mypassword and redirect to file "login_success.php"
$_SESSION["$myusername"];
$_SESSION["$mypassword"];
致:
然后贯穿你的其他页面;执行以下操作:
include "Session.php";
Session.php:
您是否在每个使用会话数据的页面顶部添加了php函数session_start?是的,我想知道是否需要使session_start更具体,因为它似乎不记得是谁记录的in@MattCornell它不是因为您没有初始化会话而“记住”登录的用户,因此,您正在向一个在您告诉它之前不存在的全球组织写信。于是会议开始了;在您的整个页面感谢大家的快速响应,我已经做了一些更改,包括Session.php,感谢大家的反馈,我做了一个print\r$\u会话;出口发现事实上,它正在将用户的想法转移到下一页,我终于可以在今晚睡觉了^ u^;谢谢你的帮助,这几天我一直在绕圈子。没问题,谢谢你接受我的答案:我的答案:谢谢你的回答,它真的帮助了我。现在我只需要调用使用AJAX、Java、Php和Mysql的数据,不应该太难吧pNo问题,您是否对登录页面进行了建议的更改?不是将用户名分配给密钥,而是将密钥分配给一个已知的名称和包含特定用户数据的值?是的,我做了这些更改,我按照您所说的将密钥分配给已知的名称,这更容易进行,谢谢:他可能已经在1页的顶部包括了这一点,但是如果要在第二个页面上工作,它也必须位于该页面的顶部……事实上,我通常会创建一个名为common.php的文件,并将其包含在需要访问任何db/session资源的顶部。
include "Session.php";
start_session();
if (!isset($_SESSION['Username']))
{
include "Logout.php";
exit;
// session is not set, so enforce logout
}