if (isset($submit)) {
$getusers = mysql_query("SELECT * FROM register");
while($getrows = mysql_fetch_array($getusers)) {
$users = $getrows['username'];
if ($touser == $users) {
echo "$users";
$send = $_GET['send'];
if ($send == $one) {
$query = mysql_query(
"INSERT INTO mailtbl VALUES
(
'', '$touser', '$fromuser', '$subject',
'$message', '0', '0', '1', '$date', '$rand'
)"
);
$query2 = mysql_query(
"INSERT INTO mailtbl_admin VALUES
(
'', '$touser', '$fromuser', '$subject',
'$message', '0', '0', '1', '$date', '$rand'
)"
);
$echo = "Message successfully sent.";
}
} else {
$echo = "There is no such user with the name of '$touser'";
}
}
echo "$echo";
}
我正在尝试编写接受邮件的代码,如果收件人在我的数据库中,则发送给另一个用户。问题是我认为我的病情(if ($touser == $users)
是错误的。 $touser
表示我的$_POST['recipient']
表单,$users
表示数据库中的用户。
有人可以查看我的代码以确保我走在正确的轨道上吗?
答案 0 :(得分:0)
不是循环遍历表中的所有用户,为什么不在SQL命令中添加WHERE语句,如下所示:
"SELECT * FROM register WHERE username = '" . $touser . "'"
如果您收到结果,请发送消息。如果没有结果,请显示“无此用户”消息。
另外,如果您在评估$ touser到$ user时遇到问题,请尝试输出$ touser的内容,以确保它符合您的想法。
print_r($touser);