2014-10-12 5 views
0

저는 PHP가 매우 새롭습니다. 첫 번째 목표는 사용자가 유효한 "사용자 계정"이름을 입력하도록 요구하는 "퀴즈"PHP 양식을 작성하는 것입니다. 이미 사용자 계정 목록을 가지고 $ users라는 배열을 만들었습니다. 폼 위에 검증 PHP 섹션을 넣어야한다고 생각합니다. 나는 $ 사용자 배열을 선언과 함께 그 아래에 시작했다 : 나는 루프, foreach 문을 사용하거나 배열을 계산하고 값으로 게시 uName의 (사용자 이름)를 비교하는 경우는 잘 모르겠습니다

if ($_SERVER["REQUEST_METHOD"] == "POST") { 

       if (empty($_POST["uName"])) { 
        $uNameErr = "User name is required"; 
        } 
        else { 
         ....do something here 
         ) 
       } 

$ 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";  
           } 
         } 

매우 도움이 되었습니까?

답변

2

in_array을 사용할 수 있습니다. 이렇게하면 foreach 루프를 쉽게 대체 할 수 있습니다. 나는 각 값을 조작해야 할 때만 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"]){ 
관련 문제