我有一个页面header.php,在很多方面,它为我的网站用户提供了一个登录的地方。它加载,设置,数据库功能和CSS文件。在设置文件中,我声明了一个全局变量$ username。在header.php中,我有以下代码:
if(!isset($username)){
echo'<div class = "loginSpace">';
echo'
<form action = "checkLogin.php" method = "post">
Username: <input type = "text" name = "username" size = 14/>
<br>Password: <input type = "password" name = "pass" size = 14 />
<input type = "submit" value = "Sign In"/>
</form>
</div>';
}
else{
$result = mysql_query("SELECT * FROM {$db_prefix}Users WHERE Username = '{$username}'");
$userInfo = mysql_fetch_array($result);
echo '<div class = "loginSpace">
Welcome ' . $userInfo['FirstName'] .'
<form action = "index.php" method = "post"> ';
$username = "";
echo'<input type = "submit" value = "Log out"/>
</form>
</div>';
}
在checklogin中,我有:
$username = $_POST['username'];
$password = $_POST['pass'];
require_once('Header.php');
当您被重定向到checkLogin.php时,会保留用户名并显示正确的“标题”,但是,如果您单击链接转到该站点的其他页面,则会忘记用户名。
< p> 我忘记了什么吗?感谢。答案 0 :(得分:6)
我不明白你的问题但是 你有没有在header.php中将用户名声明为全局变量?如果是这样,在每个页面中,如果你包括header.php,你首先写,
global $header;
然后使用变量$ header。
网页是无状态的,因此为了维护状态,您可以使用cookie或会话或隐藏字段。
答案 1 :(得分:1)
在另一个链接中,如果您要在永久页面用户post
上访问用户名,则忘记用户名,因为您使用SESSION
你应该先检查
if(isset($_POST['username']) && isset($_POST['pass'])) {
$username = $_POST['username'];
$password = $_POST['pass'];
}
和
$result = mysql_query("SELECT * FROM {$db_prefix}Users WHERE Username = '{$username}'");
^---there should be space