2011-06-19 11 views
0

フォーム検証の問題があります。以下は、submit(少なくともその一部)で発生するロジックです。forループでは、サイト訪問者が登録できるイベントの配列をチェックします。ユーザーがイベントをチェックしていない場合(ユーザーが複数のイベントを登録できるため、これらはチェックボックスです)、次の2番目のifステートメントを入力する必要があります。何もチェックされずに変数$ ECEventCntと等しいセッション変数を設定することで、ポスト変数のどれも設定されていないことがわかります。何もポストされていなければその変数は0になります。 2番目のif文に決して入らないようです。何かご意見は?PHPフォームの検証が機能しない

unset($_SESSION["ECEvents"]); 
     $ECEventsArray = array(); 
     $ECEventCnt = 0; 
     $_SESSION['debug'] = 'EC'; 
     for ($i=0; $i<count($Val_WhichEventTypes); $i++) { 
      $key = $Val_WhichEventTypes[$i]["eventKey"]; 
      //echo 'key' . $key; 
      if (isset($_POST["WhichEvent-" . $key]) && $_POST["WhichEvent-" . $key] == $key) { 
       $_SESSION['debug'] .= ' we made it to the place.' . $_POST["WhichEvent-" . $key]; 
       $ECEventsArray[$key] = $key ; 
       if (strlen($ECEventsArray[$key])) $ECEventCnt += 1; // Only advance counter if EC Event is checked (key value is set) 
      } 
     } 
     $_SESSION['ecventcount'] = $ECEventCnt; 
     if ($ECEventCnt = 0) { 
      set_step_INvalid(5); 
      $_SESSION['debug'] .= ' we made it to the 2nd place.'; 
      $cnt += 1; 
      $ValidationError .= ((strlen($ValidationError)==0) ? "" : ", ") . "<br />Please just select at least one Event Type/Time"; 
     } 
     $_SESSION["ECEvents"] = $ECEventsArray; 
     //valid_step52(); 

    } 

答えて

2
if ($ECEventCnt = 0) { 

if ($ECEventCnt == 0) { 

あなたは、変数$ECEventCntに代入されますが、あなたが何を意味することは、それを使用して比較されるべきです。

+0

haha​​。デュ。私はそれが起こったときにそれが嫌いです。 HOURSのためにこれを見た。余分な目に感謝します。 – erfling

+0

明らかに私はあまりにもあなたを投票するのを知っています。アプリケーション。 – erfling

関連する問題