我想循环遍历会话,但似乎无法获得预期的结果。 我仍在尝试探索事物。所以请教一下有更好的方法来做这件事。如果您发现我的代码不安全或不合适,请告诉我。 首先,我有这个登录表单:
<form name="x" action="login.php" method="post">
Username:<input type="text" name="uname" value=""></input><br/>
Password:<input type="password" name="pword" value=""></input>
<input type="submit" value="login"></input>
</form>
这里是login.php,如果在mysql数据库中找到记录,则设置会话:
<?php
require_once("conn.php");
$username=$_POST['uname'];
$pword=md5($_POST['pword']);
echo $username."<br/>";
echo $pword;
$check=mysql_query("SELECT * FROM users WHERE Uname='$username' AND Hpword='$pword'");
if(mysql_num_rows($check)==0){
header('Location:loginform.php');
}else{
session_start();
while($result=mysql_fetch_assoc($check)){
$_SESSION['uid'].=$result['ID'];
$_SESSION['uname'].=$result['Uname'];
}
}
?>
这里是循环遍历会话的文件:
<?php
session_start();
echo "Logged in users:<br/>";
foreach($_SESSION as $sir){
}
echo "User id: ". $_SESSION['uid']."<br/>";
echo "Username: ".$_SESSION['uname']."<br/>";
?>
我得到了这个: 但我期望得到类似这样的内容:
用户id:1 用户名:yoh
用户id:2 用户名:max
mysql_real_escape_string()
。 - Maxime Pacary