繁体   English   中英

HTML表单提交到PHP脚本

[英]HTML form submit to PHP script

我正在制作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" 如何从选项中传递其中一个字符串?

试试这个:

<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数据的强制性免责声明。 清理您在应用程序逻辑中实际使用的任何内容

<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>


  • 随着表单变得越来越复杂,您可以使用print_r($_POST);快速检查PHP脚本的顶部print_r($_POST); ,它将显示提交的内容和相应的元素名称。
  • 要获取有问题元素的提交值,请执行以下操作:

    $website_string = $_POST['website_string'];

看来在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'];

?>

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

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

这是我找到的作品

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

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

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

  1. 现在尝试使用HTML5属性。

这个输入

<input type="submit">

应该

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

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM