我无法尝试将用户名变量从登录页面传递到下一个“欢迎”页面。我使用大学的服务器托管网页,因此可以在public_html文件夹中访问我的网页文件。
在login.php页面上测试时,我能够打印会话中保存的用户名,但是当我在会员页面中尝试相同时,它不会打印会话数组中保存的用户名吗?我检查了所有其他帖子,但似乎没有解决方案。
的login.php
<?php
session_start();
include ('connect.php');
$userName=$_POST['username'];
$password=$_POST['password'];
$result = mysql_query("SELECT * FROM users WHERE username='$userName' AND password='$password'") or die ('Query is invalid: ' . mysql_error());;
$count = mysql_num_rows($result);
if($count==1)
{
$_SESSION['username']=$userName;
header("Location: memberPage.php");
} else {
echo "Incorrect username or password";
}
?>
memberLogin.php
<?php
session_start();
include ('connection.php');
$_SESSION['username'] = $userName;
echo $userName;
//$result = mysql_query("SELECT * FROM users");
//while ($row = mysql_fetch_array($result)) {
// echo $row['username'];
//}
?>
<html>
<link rel="stylesheet" type="text/css" href="style.css" />
<div id = main-nav>
<a href="http://www.cs.nott.ac.uk/~rxp00u/logout.php" >Logout</a>
</div>
</html>
P.S。我意识到我的代码不是很安全,我将在获得网站的基本框架后继续努力!
编辑:登录login.php时出错报告显示以下错误: “警告:未知:打开(/ var / lib / php5 / sess_d760m9ebgose4liptp6jbgbc17nqjgg4,O_RDWR)失败:第0行的未知权限被拒绝(13)警告:未知:无法写入会话数据(文件)。请验证当前设置session.save_path在第0行的“未知”中是正确的(/ var / lib / php5)“
答案 0 :(得分:1)
<?php
session_start();
include ('connection.php');
$_SESSION['username'] = $userName;
echo $userName;
未设置$ userName。如果你有错误,你已经看到了。你的意思是
$userName = $_SESSION['username'];
echo $userName;
答案 1 :(得分:1)
:
$_SESSION['username'] = $userName;
其中$userName
未定义。如果您可以成功将$userName
分配给 Login.php 上的$_SESSION
变量,则不再需要设置变量。拨打session_start();
后即可访问。
答案 2 :(得分:0)
在memberLogin中,它应该是:
$username = $_SESSION['username'];
分配是左关联的,意味着=
右侧的值被分配给=
左侧的变量。您当前的设置是否使用null覆盖会话值。