HTML表单提交到PHP脚本

HTML表单提交到PHP脚本,php,html,forms,post,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>

我正在制作一个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>

name=“网站\u字符串” 基础知识 def hij/选项>
问题是我无法获得传递给PHP的值。如果我使用value:

<INPUT TYPE="submit" name="website_string" value="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>
关于使用原始
$\u POST
数据的强制性免责声明清理实际在应用程序逻辑中使用的任何内容


在PHP中,您似乎获得的是提交按钮的值,而不是选择输入。如果您正在使用GET,您将需要使用
$\u GET['website\u string']
,或者POST将是
$\u POST['website\u 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" />

基础知识
def
你好
有些PHP看起来像这样:

<?php

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

?>


abc
def
你好

  • 随着表单变得越来越复杂,您需要 可以在php顶部快速检查吗 使用
    print\r($\u POST)的脚本,,
    它将显示提交的内容以及相应的元素名称
  • 要获取相关元素的提交值,请执行以下操作:

    $website\u string=$\u POST['website\u string']


对于您的实际表单,如果您只是将结果发布到同一页面,它可能会正常工作。尝试以下方法:

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

以下是我发现有效的方法

  • 设置
    表单名称
  • 使用
    默认选择选项
    ,例如

    请选择

  • 因此,如果表单已提交,也可以在服务器上实现并验证使用JavaScript停止提交过程

  • 现在支持HTML5属性,请尝试使用它们
  • 这个输入

    <input type="submit">
    
    
    
    应该是

    <input name="Submit" type="submit" value="Submit">
    
    
    
    每当我使用一个失败的表单时,由于调用按钮名
    submit
    和名称为
    submit
    的不同,它就是一个失败


    您还应该为表单设置enctype属性,因为如果没有设置,表单在我的web主机上会失败。

    我更改了每个属性,得到了相同的结果。如果我将第一个更改为website_str,我仍然会得到作为submit返回的文本,而不是我想要的字符串。我更改了/select的位置。它不会改变结果。问题是submit没有发送正确的值。如果我输入value=“fff”,它将发送fff。否则它将发送submit。必须有一种方法指定所选的值。$WEBITE=$\u POST[“WEBITE\u string”];是的,这是密码。当我把它作为一个文本框时,它发送了正确的文本。但是自由形式的风格让人们犯错误。所以我想换成一个下拉框。但是我无法通过正确的文本。我编辑了我的答案多一点。这有用吗?考虑到这一点,它仍然不起作用吗?我把它改成了你的代码。在php文件中,我添加了print\u r($\u POST);结果是:数组([website\u string]=>Submit)。所以它是发送文本提交的。@Joe:噢,哇,我的糟糕。请从提交输入中删除“name=”website\u string“。我编辑了我的代码来删除它;它现在应该可以正常工作了。对不起,它是空白的。因为值为空。请将此php与我的html一起使用进行测试。仍然为空。我使用了你的php代码。下面是确切的代码:
    name=“website_string”www.kalibo.org-phwww.kalibo.org-uswww.seoplannow.com-phwww.seoplannow.com-us不要在标签外声明select的“名称”,看看我在上面是怎么写的。如果不是对我,那就投票吧,如果你接受了答案。
    <input type="submit">
    
    <input name="Submit" type="submit" value="Submit">