好了,所以这是我的login.php页面的PHP代码文件:PHP和MySQL店用户ID登录完成课程后
<?php
if (isset($_GET['action'])) {
switch (strtolower($_GET['action'])) {
case 'login':
if (isset($_POST['username']) && isset($_POST['password'])) {
if (!validateUser($_POST['username'], $_POST['password'])) {
$_SESSION['error'] = "Bad username or password supplied.";
unset($_GET['action']);
}
}else {
$_SESSION['error'] = "Username and Password are required to login.";
unset($_GET['action']);
}
break;
case 'logout':
if (loggedIn()) {
logoutUser();
header ("Location: ".$domainNow);
}else {
unset($_GET['action']);
}
break;
}
}
if (loggedIn()) {
header ("Location: ".$domainNow);
}elseif (!isset($_GET['action'])) {
$sUsername = "";
if (isset($_POST['username'])) {
$sUsername = $_POST['username'];
}
$sError = "";
if (isset($_SESSION['error'])) {
$sError = '<span id="error">' . $_SESSION['error'] . '</span><br />';
}
$sOutput .= '<h2>Login to NextGenStep</h2><br />
' . $sError . '
<form name="login" method="post" action="/user-action/login">
Username: <input type="text" name="username" value="' . $sUsername . '" /><br />
Password: <input type="password" name="password" value="" /><br /><br />
<div style="padding-left:71px;"><input type="submit" name="submit" value="Login!" /></div>
</form>
<div style="padding-left:131px;"><h4>Create a new <a href="/register">account</a>?</h4></div>';
}
echo $sOutput;
?>
我新的PHP和MySQL在一起,所以我想在这里是让在用户登录后数据库中的用户标识(列名是uid),但我也希望它将用户标识存储在会话中,以便我可以在其他页面上使用它。我已经session_start();在包含文件中声明,所以我不必在每个页面上手动执行。
而且,这里是我的网页包括我的loggedIn功能:
function loggedIn() {
if (isset($_SESSION['loggedin']) && isset($_SESSION['username'])) {
return true;
}
那么,你有一个问题或什么是你的麻烦你是在跑? – Rasclatt 2014-09-29 17:49:28
正如我所说的,我想在用户成功登录后将用户标识存储为会话,但我不知道如何获取它。我试着运行一个简单的mysql查询:SELECT uid FROM users WHERE username =。 $ _SESSION ['username']。 但它并没有很好的工作。 – 2014-09-29 18:01:22