好的,所以这是我的代码:
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
答案 0 :(得分:1)
我试图在上面的评论中提供帮助,但我认为需要更明确的解释,所以我要求发布答案。你的代码:
for ($x = 0; $x >= 10; $x++) {
此代码块声明$x = 0
作为语句的第一部分,这是初始化。
第二部分$x >= 10
是条件。它指出,当$x
大于或等于 10
时,您希望执行循环的迭代。
最后一部分$x++
是事后的想法。它指出,在每次成功迭代循环时,您希望增加$x
的值。
因为您将$x
初始化为0
,然后设置必须大于或等于 10 >= 10
的条件,否则条件将失败第一次,每一次。 0不能大于或等于10.我想你可能想要的条件是$x
小于或等于10 $x <= 10
。