gpt4 book ai didi

php - 如何在php中循环遍历 session 数组

转载 作者:可可西里 更新时间:2023-11-01 07:17:08 24 4
gpt4 key购买 nike

我正在尝试遍历 session 。但我似乎无法获得预期的结果。我仍在尝试探索事物。所以请教我一个更好的方法来做到这一点。如果您发现我的代码不安全或不合适。首先我有这个登录表单:

<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 数据库中找到记录,它会设置 session :

<?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'];


}

}
?>

这是在 session 中循环的文件:

<?php

session_start();
echo "Logged in users:<br/>";


foreach($_SESSION as $sir){


}

echo "User id: ". $_SESSION['uid']."<br/>";
echo "Username: ".$_SESSION['uname']."<br/>";

?>

我明白了:

enter image description here

虽然我期待得到这样的东西:

用户编号:1用户名:哟

用户编号:2用户名:max

最佳答案

$_SESSION 仅对实际打开页面的访问者可用。 (很高兴看到每个人的 $_SESSION 变量,不是吗?)

您可能希望将这些 $_SESSION 变量存储在您的数据库中,然后循环遍历它们。

更新:

  • 创建一个 session 表,您可以在其中存储当前登录的用户
  • 每次登录用户打开页面时,增加一个值(时间戳),如 last_seen
  • 同时检查无效 session (例如,删除 last_seen 值小于now - 服务器 session 生命周期的所有行

关于php - 如何在php中循环遍历 session 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5403721/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com