HTML表单提交到PHP脚本

时间:2010-12-30 02:06:43

标签: php html forms post

我正在制作HTML表单。我希望结果出现在PHP脚本中。

<form action="chk_kw.php" method="post"> <br />
    <select> name="website_string" 
        <option value="" selected="selected"></option>
    <option VALUE="abc"> ABC</option>
    <option VALUE="def"> def</option>
        <option VALUE="hij"> hij/option>   
    </select>
    <input type="submit" name="website_string"  >
</form>

问题是我无法将值传递给PHP。如果我使用价值:

<INPUT TYPE="submit" name="website_string" value="selected" >

它始终传递引号中的文本。在这种情况下"selected"。如何从选项中传递其中一个字符串?

6 个答案:

答案 0 :(得分:39)

试试这个:

<form method="post" action="check.php">
    <select name="website_string">
        <option value="" selected="selected"></option>
        <option VALUE="abc"> ABC</option>
        <option VALUE="def"> def</option>
        <option VALUE="hij"> hij</option>
    </select>
    <input TYPE="submit" name="submit" />
</form>

您的选择控件和提交按钮都具有相同的name属性,因此最后一个使用的是单击它时的提交按钮。抛开所有其他语法错误。

check.php

<?php
    echo $_POST['website_string'];
?>
  

关于使用原始$_POST数据的强制性免责声明。 清理您在应用程序逻辑中实际使用的任何内容

答案 1 :(得分:5)

<form method="POST" action="chk_kw.php">
    <select name="website_string"> 
        <option selected="selected"></option>
        <option value="abc">abc</option>
        <option value="def">def</option>
        <option value="hij">hij</option>   
    </select>
    <input type="submit">
</form>


  • 当你的表格变得更复杂时,你 可以在你的PHP顶部快速检查 脚本使用print_r($_POST);, 它会显示提交的内容和相应的元素名称。
  • 要获取相关元素的提交值,请执行以下操作:

    $website_string = $_POST['website_string'];

答案 2 :(得分:3)

在PHP中,您似乎获得了提交按钮的值,而不是选择输入。如果您使用GET,则需要使用$_GET['website_string']或POST $_POST['website_string']

您可能需要以下HTML:

<select name="website_string">
  <option value="" selected="selected"></option>
  <option value="abc">ABC</option>
  <option value="def">def</option>
  <option value="hij">hij</option>   
</select>
<input type="submit" />

使用一些看起来像这样的PHP:

<?php

$website_string = $_POST['website_string']; // or $_GET['website_string'];

?>

答案 3 :(得分:0)

假设您已修复语法错误(您已关闭name属性之前的选择框),则您使用与提交按钮相同的选择框名称。为选择框指定一个不同的名称。

答案 4 :(得分:0)

对于您的实际表单,如果您只是将结果发布到同一页面,它应该可以正常运行。尝试类似:

<form action=<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?> method="POST>

答案 5 :(得分:0)

这是我找到的作品

  1. 设置form name
  2. 使用default select option,例如......

    <option value="-1" selected>Please Select</option>

  3. 因此,如果提交表单,则可以在服务器上实现和验证使用JavaScript来暂停提交过程。

    1. 现在尝试使用HTML5属性。
    2. 此输入

      <input type="submit">
      

      应该是

      <input name="Submit" type="submit" value="Submit">
      

      每当我使用失败的表单时,由于调用按钮名称submit和名称为Submit不同而导致失败。

      您还应该为表单设置enctype属性,因为如果表单未设置,表单将失败。