1

我正在尝试创建一个具有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>&nbsp;</td><td>&nbsp;</td><td><input class="buttons" type="submit"     value="تسجيل الدخول"></td></tr>
</form>
</table>'; 
}; 
?>
4

3 回答 3

0

只是为了知识:

最重要的事情要记住。

始终在 php 标签启动后启动会话。

例如

<?php
session_start();

如果你像这样开始它:

<?php
$sid = $_POST["username"];
session_start();

它将通过错误消息:headers already sent

于 2013-07-03T03:27:36.423 回答
0

我建议看一下这段代码:

if ($USERS[$_POST["username"]]==$_POST["password"]) { /// check if submitted 
      $_SESSION["logged"]=$_POST["username"]; 
 } 

您需要确保$_SESSION["logged"]实际设置了。也许尝试对其执行echo。如果它是空的,那将是逻辑不评估为true

还要确保你session_start()在你的 index.php 页面上做一个。

于 2013-07-03T03:28:22.323 回答
-1

与欢迎事物一起使用会话将无法正常工作

尝试使用mysql

就像管理员输入名称和密码时一样

 $username = $_POST['username'];
 mysql_query(SELECT username FROM admins where username='$username');
于 2013-07-03T03:10:32.550 回答