我正在尝试使用session()
函数创建一个登录页面,但我遇到了代码问题,但我不知道为什么。
我想要做的是在我的管理页面中我希望它说“欢迎(在表单中插入的用户名)”,但我不知道如何。
我尝试使用session()
,但它显示了我:
PHPSESSID
我该怎么办?
这是代码
<?php
$sid = $_POST["username"];
session_start();
include("../inc/passwords.php");
if ($_POST["ac"]=="log") { /// do after login form is submitted
if ($USERS[$_POST["username"]]==$_POST["password"]) { /// check if submitted
$_SESSION["logged"]=$_POST["username"];
} else {
echo 'Incorrect username/password. Please, try again.';
};
};
if (array_key_exists($_SESSION["logged"],$USERS)) { //// check if user is logged or not
header('Location: index.php'); //// if user is logged show a message
} else { //// if not logged show login form
echo '<table align="center" border="0">
<h3 style="color: #555" align="center" class="">بالرجاء تسجيل الدخول للمتابعة</h3>
<form action="login.php" method="post"><input type="hidden" name="ac" value="log">
<tr><td>الاســـــــم</td><td>:</td><td><input type="text" name="username" size="20"> </td></tr>
<tr><td>كلمة السر</td><td>:</td><td><input type="password" name="password" size="20"> </td></tr>
<tr><td> </td><td> </td><td><input class="buttons" type="submit" value="تسجيل الدخول"></td></tr>
</form>
</table>';
};
?>
答案 0 :(得分:0)
只是为了知识:
最重要的事情要记住。
在php标记启动后始终启动会话。
e.g。
<?php
session_start();
如果您启动它:
<?php
$sid = $_POST["username"];
session_start();
它将通过错误消息:headers already sent
等
答案 1 :(得分:0)
我建议你看看这段代码:
if ($USERS[$_POST["username"]]==$_POST["password"]) { /// check if submitted
$_SESSION["logged"]=$_POST["username"];
}
您需要确保$_SESSION["logged"]
实际设置完毕。也许尝试在其上执行echo
。如果它是空的,则逻辑不会评估为true
。
还要确保在index.php页面上执行session_start()
。
答案 2 :(得分:-1)
它不能使用带有欢迎的东西的会话
尝试使用mysql
像 当管理员输入名称和密码时 他的名字被放在mysql的一个表中 并在管理页面的索引中 你查询表 像
$username = $_POST['username'];
mysql_query(SELECT username FROM admins where username='$username');