Php 建立PM系统

Php 建立PM系统,php,mysql,Php,Mysql,首先,我对PHP/MySQL非常陌生,正如其他人指出的那样,我知道我的代码对MySQL注入是脆弱的,但现在我正在学习该功能,然后再转向安全性。 好的,我正在从头开始构建一个私人消息传递系统,以帮助我理解编码,我遇到了一个障碍,我试图在回复字符串中发布“to_user”数据,我可以成功发布其他所有内容,但“to_user”(发送PM的人)和主题数据没有继续 这是我的“view_pm.php”文件 答复: 这是我的“reply_pm.php”文件 关于PHP,您应该知道的一件事是,您在两个括

首先,我对PHP/MySQL非常陌生,正如其他人指出的那样,我知道我的代码对MySQL注入是脆弱的,但现在我正在学习该功能,然后再转向安全性。

好的,我正在从头开始构建一个私人消息传递系统,以帮助我理解编码,我遇到了一个障碍,我试图在回复字符串中发布“to_user”数据,我可以成功发布其他所有内容,但“to_user”(发送PM的人)和主题数据没有继续

这是我的“view_pm.php”文件




答复:
这是我的“reply_pm.php”文件


关于PHP,您应该知道的一件事是,您在两个括号中定义的变量只有在那里才能访问,因此在您使用的代码中

while ($rows = mysql_fetch_assoc($result2)) {
因此,
$rows
在打开的括号中定义为
{
,直到关闭的括号中
关闭括号后,您无法访问变量。例如:

<input type="hidden" name="to_user" value="<? echo $rows['from_user']; ?>">
阅读更多关于此的信息:


可能是因为您切换了输入字段的值(名称为from_user的字段有值,反之亦然),原因是当查看PM时,查看的人是“to_user”,然后当他们回复时,他们变成了“from_user”,所以我尝试以这种方式传递数据。
while ($rows = mysql_fetch_assoc($result2)) {
<input type="hidden" name="to_user" value="<? echo $rows['from_user']; ?>">
$from_user = "";
while ($rows = mysql_fetch_assoc($result2)) {
$from_user = $rows['from_user'];
.....
}
<input type="hidden" name="to_user" value="<? echo $from_user; ?>">