0

このフォームをサイトにアップしました。select タグから値を取得して、php の変数で収集することができません。どのオプションを選択しても、PHP では空白で表示されます。

他のすべての入力値は、php 変数によって正確に収集されます。

タイプミス、閉じられていないタグ、または欠落している文字を十分にチェックしたと思います。私が認識していない < select > タグに関するある種の規則でしょうか?

HTML

<form method="post" action="contact.php" name="contactform" id="contactform" autocomplete="off">
    <fieldset>
        <label id="sendtolabel"><span>Send To:</span></label>
        <select name="select" id="select">
            <option value="1">Option 1</option>
            <option value="2">Option 2</option>
            <option value="3">Option 3</option>
            <option value="4">Option 4</option> 
        </select>
        <label for="name" accesskey="U"><span class="required">Name</span></label>
        <input name="name" type="text" id="name" size="30" title="name" />
        <label for="email" accesskey="E"><span class="required">Email</span></label>
        <input name="email" type="text" id="email" size="30" title="email" />
        <label for="comments" accesskey="C"><span class="required">Comments</span></label>
        <textarea name="comments" cols="40" rows="3" id="comments" title="comments"></textarea>
        <input type="submit" class="submit" id="submit" value="Submit" />
     </fieldset>
  </form>

PHP

$select = $_POST['select']; 
$name = $_POST['name']; 
$email = $_POST['email']; 
$comments = $_POST['comments']
4

3 に答える 3

3

ここで機能しています...これを試すことができます:

<?php
   if ( isset( $_POST['select'] ) ) {
       var_dump( $_POST['select'] );
       $select = $_POST['select']; 
       $name = $_POST['name']; 
       $email = $_POST['email']; 
       $comments = $_POST['comments'];
       echo "THE SELECT VAR's Value is: __".$select;
   }
?>
<form method="post" action="" name="contactform" id="contactform" autocomplete="off">
   <fieldset>
        <label id="sendtolabel"><span>Send To:</span></label>
        <select name="select" id="select">
            <option value="1">Option 1</option>
            <option value="2">Option 2</option>
            <option value="3">Option 3</option>
            <option value="4">Option 4</option> 
        </select>
        <label for="name" accesskey="U"><span class="required">Name</span></label>
        <input name="name" type="text" id="name" size="30" title="name" />
        <label for="email" accesskey="E"><span class="required">Email</span></label>
        <input name="email" type="text" id="email" size="30" title="email" />
        <label for="comments" accesskey="C"><span class="required">Comments</span></label>
        <textarea name="comments" cols="40" rows="3" id="comments" title="comments"></textarea>
        <input type="submit" class="submit" id="submit" value="Submit" />
     </fieldset>
   </form>

注: 上記のコードは phpfiddle でテストできます。

1) http://phpfiddle.org/
に移動します。 2) コードを貼り付けて、EditorRun[F9] を押します。

フィドルでコードをテストするには、ここをクリックしてください: http://phpfiddle.org/main/code/tuc-6jm

于 2013-10-15T04:42:09.870 に答える
0

私のためにうまく働いています。

この方法で試してみてください。このコードを contact.php の上に置いて、すべての値が適切に取得されているかどうかをテストします。

<?php
    if ( $_POST ) {
       echo '<pre>';
       print_r( $_POST );
       die;
    }
?>

以下の出力を参照してください: http://d.pr/i/dgN3

于 2013-10-15T04:53:51.867 に答える
0

そのような問題が発生した場合、すべての $_POST グローバルを出力して、何が返されたかを確認します

print_r($_POST);

いいえ、あなたのコードは正しいです

<html>
    <head></head>
    <body>
       <form method="post" action="test.php" name="contactform" id="contactform" autocomplete="off">
          <fieldset>
          <label id="sendtolabel"><span>Send To:</span></label>
          <select name="select" id="select">
              <option value="1">Option 1</option>
              <option value="2">Option 2</option>
              <option value="3">Option 3</option>
              <option value="4">Option 4</option> 
          </select>
          <label for="name" accesskey="U"><span class="required">Name</span></label>
          <input name="name" type="text" id="name" size="30" title="name" />
          <label for="email" accesskey="E"><span class="required">Email</span></label>
          <input name="email" type="text" id="email" size="30" title="email" />
          <label for="comments" accesskey="C"><span class="required">Comments</span></label>
          <textarea name="comments" cols="40" rows="3" id="comments" title="comments"></textarea>
          <input type="submit" class="submit" id="submit" value="Submit" />
         </fieldset>
     </form>
<?php 

   print_r( $_POST );
   echo $_POST['select'];
   $select = $_POST['select']; 
   $name = $_POST['name']; 
   $email = $_POST['email']; 
   $comments = $_POST['comments'];
   echo $select;
?>
    </body>
</html>

select は返す必要があるものを返しています... (1, 2, 3, 4)

于 2013-10-15T04:38:55.220 に答える