gpt4 book ai didi

php - 某些变量未保存 session

转载 作者:行者123 更新时间:2023-11-29 23:37:50 24 4
gpt4 key购买 nike

我的网站有 2 个页面;从 URL 获取用户名,将其放入$_SESSION并显示该用户所属组的列表。

当用户选择一个组时,站点会转到下一页(group.php 页面),并在其 URL 中给出组名称,以便在组页面中使用。

在群组页面中,有一个表单用于发送要在群组页面中显示的消息(我猜有点像 Facebook 墙)。

问题是这样的:
在群组列表页面用户名被发送到 session 中;在群组页面获取群组名称后,我也将其发送到 session 中,但由于某种原因,当页面到达 if(isset($_POST['texts'])) 部分时,它会记住用户名,但不记住组名。

知道为什么吗?

以下是群组页面的代码。

   <?php
session_start();
include_once("../connect.php");
$username = $_SESSION['username'];

$result = mysqli_query($conn, "SELECT id FROM users WHERE username='$username'");
while($row = mysqli_fetch_array($result)) {
$uid = $row['id'];
}

if(isset($_GET['groupname'])) {
$groupname = $_GET['groupname'];
}

$result = mysqli_query($conn, "SELECT id FROM groups WHERE groupname='$groupname'");
while($row = mysqli_fetch_array($result)) {
$gid = $row['id'];
}

$_SESSION['groupname'] = $groupname;
?>
<!doctype html>
<html>
<head>
<meta charset="UTF-8">
</head>
<body>
<form action=
<?php
echo "'group.php?id=" . $gid . "'";
?> method="post" name="newtext">
<textarea name="texts" rows="4" cols="30"></textarea>
<input type="submit" id="subtext" name="submit" value="Submit" />
</form>

<?php
//add text message
if(isset($_POST['texts'])){
$texts = $_POST['texts'];

if($texts == "") {
echo "<script>alert('no message writen')</script>";
}else{
mysqli_query($conn, "INSERT INTO texts (`sender`, `sent`, `group`, `text`)
VALUES ('$uid', now(), '$gid', '$texts');");
echo "<script>alert('message recieved!')</script>";
}
}
?>
</div>
</body>
</html>

最佳答案

这是因为在这种情况下 $_GET['groupname'] 不再存在。

echo "'group.php?id=" . $gid . "'";

我没有看到您在任何地方使用 $_GET['id'],因此操作应该是

group.php?groupname=GROUPNAME_HERE 而不是 group.php?id=1

这应该有效:

<form action="group.php?groupname=<?php echo $groupname; ?>" method="post" name="newtext">

我还会在此处添加一条 else 语句来决定如果变量不存在该怎么办。

if(isset($_GET['groupname'])) {
$groupname = $_GET['groupname'];
}

关于php - 某些变量未保存 session ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26318831/

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