php - $_SERVER ['PHP_SELF' 的问题]

标签 php mysql session

我的一个 php 页面中有一个链接,其中显示了登录用户的 friend ,并且每个用户的 friend 都有一个如下所示的链接,如下所示:

echo "<a href='profile.php?id=$row[friend_id]'>$friend_row[name]</a>";

正如您所看到的, friend 的 ID 被传递到个人资料页面,在个人资料页面中,用户可以查看他们的个人资料并为他们留下评论。表格如下:

<form name="comment" method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
    <input type="text" name="comment" class="comment" />
    <input type="submit" name="submit" value="submit" class="comment" />
</form>

这个 php 代码如下:

$insert="INSERT INTO comment (login_id,friend_id,msg)
                    VALUES ('$_SESSION[friend_id]','$_SESSION[id]','$_POST[comment]')";
$result = mysql_query($insert) or die(mysql_error());

现在我的问题是 $_SESSION[friend_id] 通过此命令等于 $_GET[id] $_SESSION[friend_id]=$_GET [id] 并先前传递到页面,但没有任何值,并且在提交表单后在我的 SQL 表上显示为 0。我试图在执行此 php 脚本之前回显它,并且它具有正确的值,但在执行此 php 代码之后,它就消失了!!!

谁能告诉我为什么?

最佳答案

没有人能告诉你为什么你的变量包含与你预期不同的值,除非你发布实际初始化它的代码,但几乎每个人都可以告诉你将从 $_GET 超全局数组中取出的任何内容插入 SQL查询是一个糟糕的主意。

关于php - $_SERVER ['PHP_SELF' 的问题],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1583058/

相关文章:

python - 类型错误 : float() argument must be a string or a number, 而不是 'NaTType'

Java servlet - session 清理 (HttpServletRequest)

java - 当 session 在 servlet 中过期时自动重定向到登录页面

javascript - 如何防止 HTML 表单提交空白

php - 从 php 访问主题标签后的 URI 变量的最佳方法是什么?

php - 标签的递归式查询?

mysql - 这种SQL注入(inject)的目的是什么?

mysql - 连接 2 个表,其中公共(public)行具有不同的数据格式

php - session 变量未从 php 的下拉菜单中存储

javascript - 在 while 循环中嵌入 Optgroup 的选择组