我是PHP的新手。我正在编写一个"测试"php表单,其中的第一个目标是要求用户输入有效的"用户帐户"名称。我已经有了用户帐户的列表,并创建了一个名为$users的数组。我想我需要把验证php部分放在表单上方。我已经声明了$users数组,在它下方,从开始
if ($_SERVER["REQUEST_METHOD"] == "POST") {
if (empty($_POST["uName"])) {
$uNameErr = "User name is required";
}
else {
....do something here
)
}
我不确定是应该使用foreach、for循环,还是通过数组计数,并将发布的uName(用户名)与$users数组中每个元素的值进行比较。我无法用任何一种方法生成正确的echo语句(作为测试)。我最后一次尝试是:
if ($_SERVER["REQUEST_METHOD"] == "POST") {
if (empty($_POST["uName"])) {
$uNameErr = "User name is required";
}
else {
foreach($users as $value){
if ($value ===($_POST["uName"])){
echo "needle is in the array";
}
else {
echo "needle is not in the array";
}
}
欢迎在这方面提供任何帮助!
您可以使用in_array。这可以很容易地取代你的前臂环。我发现我只在需要对每个值进行运算时使用foreach。
在这种情况下,你可以做
if (in_array($_POST['uName'], $users))
echo 'they are in the array';
else echo 'they are not in the array';
另外,您可以更换
if ($_SERVER["REQUEST_METHOD"] == "POST") {
带有
if (isset($_POST["uName"]){