0

我已经在一个网站上找到了这个表格。我无法从选择标签中获取值以由 php.ini 上的变量收集。无论选择什么选项,它都会在 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) 粘贴代码,Editor然后按 Run[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 回答