如果用户在数据库中,则发送消息,否则拒绝

时间:2011-08-21 05:23:14

标签: php

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表示数据库中的用户。

有人可以查看我的代码以确保我走在正确的轨道上吗?

1 个答案:

答案 0 :(得分:0)

不是循环遍历表中的所有用户,为什么不在SQL命令中添加WHERE语句,如下所示:

"SELECT * FROM register WHERE username = '" . $touser . "'"

如果您收到结果,请发送消息。如果没有结果,请显示“无此用户”消息。

另外,如果您在评估$ touser到$ user时遇到问题,请尝试输出$ touser的内容,以确保它符合您的想法。

print_r($touser);