2016-04-28 5 views
1

私はプロジェクトに取り組んでおり、<select>PHPに入れる必要があります。PHPのHTMLタグ 'select'の値を取得します

$(document).ready(function() { 
 

 
     $("#design1").hide(); 
 

 
     $("#dropdown").change(function() { 
 

 
     if ($("#dropdown").val() == "designer") { 
 
      $('.main-content').addClass('design'); // add this line 
 
      $("#design1").show(); 
 
     } else { 
 
      $('.main-content').removeClass('design'); // add this line 
 
      $("#design1").hide(); 
 
     }); 
 

 
     if ($("#dropdown").val() == "designer") { 
 

 
     $("#design1").show(); 
 

 
     } 
 

 
    });

<div class="main-content"> 
 

 
     <form class="form-register" method="post" action=""> 
 

 
     <div class="form-register-with-email"> 
 

 
      <div class="form-white-background"> 
 

 
      <div class="form-title-row"> 
 
       <h1>Create an account</h1> 
 
      </div> 
 

 
      <div class="form-row"> 
 
       <label> 
 
       <span>Register As</span> 
 
       <select name="register_as" id="dropdown"> 
 
        <option value="none">Select One</option> 
 
        <option value="user">User</option> 
 
        <option value="designer">Designer</option> 
 
       </select> 
 
       </label> 
 
      </div> 
 

 
<div class="form-row" id="design1"> 
 
         <label> 
 
          <span>Company Name</span> 
 
          <input type="text" name="name"> 
 
         </label> 
 
        </div> 
 
      </div> 
 
     </div> 
 
     </form> 
 

 
    </div>

私は、次のjQueryコードを使って、表示されるフィールドの数に影響を与える:

私のHTMLコードは以下のとおりです。

<?php 
 

 
\t if(!empty($_POST)){ 
 
\t \t 
 
\t \t $errors = array(); 
 

 

 
     if(isset($_POST['register_as']) AND ($_POST['register_as'] != 'user' OR $_POST['register_as'] != 'designer')){ 
 
      
 
      $errors['register_as'] = "Register as an user or a designer"; 
 
     } 
 

 
     var_dump($_POST['register_as']); 
 

 
\t } 
 

 
?>

正しい値を表示しvar_dump機能:

は今、私は値を取得するには、このPHPスクリプトを使用しています。つまり、Userをドロップダウンから選択すると、var_dumpuserと表示されます。主な問題は、エラーが発生することです。Register as an user or a designer

私は実際に何が起こっているのか分かりません。で、少なくとも1つの条件が真でなければならないあなたがしてドロップダウンからいずれかのオプション(ユーザーやデザイナー)を選択したときに親切に

私はその後、($_POST['register_as'] != 'user' or $_POST['register_as'])をチェックし、この問題

+1

使用し、代わりのまたは。 '$ _POST ['register_as']'が 'user'の場合は' designer'ではなく、その逆の場合もあります(if文の2番目の条件は常にtrueを返します) – billyonecan

答えて

2

あなたの条件

isset($_POST['register_as']) AND ($_POST['register_as'] != 'user' OR $_POST['register_as'] != 'designer') 

を解決するのに役立ちますと$ _POST ['register_as']は常に真となり、条件は常に真でエラー配列を返します

0

if(isset($_POST['register_as']) && $_POST['register_as'] != 'none'){ 
    $errors['register_as'] = "Register as an user or a designer"; 
} 
+0

ユーザがHTMLソースコードを変更し、例えば ​​'adrian'へのドロップダウンオプションの1つの値は、コードはまだ動作しています。 – Prince

+0

私は申し訳ありませんが、PHPで達成しようとしていますか?なぜエラーの配列を作成していますか? – adrian

0

<?php 
 

 
\t if(!empty($_POST)){ 
 
\t \t 
 
\t \t $errors = array(); 
 

 
     // Should be like this 
 
     if(isset($_POST['register_as']) AND ($_POST['register_as'] != 'user' AND $_POST['register_as'] != 'designer')){ 
 
      
 
      $errors['register_as'] = "Register as an user or a designer"; 
 
     } 
 
     // Or like this: 
 
     if(isset($_POST['register_as']) AND ($_POST['register_as'] == 'user' OR $_POST['register_as'] == 'designer')){ 
 
      
 
      $errors['register_as'] = "Register as an user or a designer"; 
 
     } 
 

 
     var_dump($_POST['register_as']); 
 

 
\t } 
 

 
?>

関連する問題