-1

好的,这是我的代码:

if ($_GET['send'] === "yes") {
    $name = $_POST['msg-to'].", ";
    $nameParts = explode(", ", $name);
    $recipients = array();
    for ($x = 0; $x >= 10; $x++) {
        $name_query = mysql_query("SELECT * FROM users WHERE username='".$nameParts[$x]."'");
        while($value = mysql_fetch_array($name_query)){ $name_numrows = mysql_num_rows($name_query); }
        if ($name_numrows = 1) {
            $recipients[$x] = $nameParts[$x];
            $msgError .= '<span class="success">'.$nameParts[$x].' is a valid user.</span><br>';
        } else {
            $msgError .= '<span class="warning">'.$nameParts[$x].' is not a valid user, message did not send.</span><br>';
            break;
        }
    }
}

但是,当用户输入要发送此消息的用户名时,它似乎根本不起作用。它不会回显两条错误消息中的任何一条,也不会返回错误。它什么也没做。

任何反馈都绝对很棒:D

4

1 回答 1

1

我试图在上面的评论中提供帮助,但我认为需要更清楚的解释,所以我求助于发布答案。你的代码:

for ($x = 0; $x >= 10; $x++) {

该代码块声明$x = 0为语句的第一部分,这是初始化。

第二部分$x >= 10是条件。它表明 while$x大于或等于 10您要执行循环的迭代。

最后一部分$x++是事后的想法。它指出,在循环的每次成功迭代中,您都希望增加$x.

因为您初始化$x为 be0然后设置它必须大于或等于10>= 10的条件,所以每次都会第一次失败。0 不能大于或等于 10。我想您可能想要的条件可能是 while$x小于或等于 10 $x <= 10

于 2013-10-20T18:30:14.350 回答