我有一个表单,当用户点击提交时,我需要一个php文件来运行.下面是表单和php文件.
<form action="php_scripts/test.php" method="POST">
<input name="feature" type = "text" placeholder="Feature" />
<input name="feature2" type = "text" placeholder="Feature2" />
<input type="submit" value = "submit"/>
</form>
Run Code Online (Sandbox Code Playgroud)
test.php的
<?php
if( isset($_GET['submit']) )
{
$feature = $_POST['feature'];
// do stuff (will send data to database)
}
?>
Run Code Online (Sandbox Code Playgroud)
我遇到的问题是,当我在表格上按提交时,
if( isset($_GET['submit']) )
Run Code Online (Sandbox Code Playgroud)
始终返回false.
谁能解释为什么会这样?我是否完全误解了如何实现向php脚本发送数据的表单?
如果我犯了任何语法错误而感到抱歉,非常感谢您提供任何帮助.
您的代码存在一些问题.
你正在将GET与POST方法混合使用.另外,为您的输入添加值并且您的提交按钮未命名,您尝试将其用作条件语句.
HTML
<form action="php_scripts/test.php" method="POST">
<input name="feature" value="feature" type = "text" placeholder="Feature" />
<input name="feature2" value="feature2" type = "text" placeholder="Feature2" />
<input type="submit" name="submit" value = "submit"/>
</form>
Run Code Online (Sandbox Code Playgroud)
PHP
<?php
if( isset($_POST['submit']) )
{
$feature = $_POST['feature'];
$feature2 = $_POST['feature2'];
// do stuff (will send data to database)
}
?>
Run Code Online (Sandbox Code Playgroud)
旁注:你可以/也应该检查空值.
if(isset($_POST['submit'])
&& !empty($_POST['feature'])
&& !empty($_POST['feature2']) ) {...}
Run Code Online (Sandbox Code Playgroud)
脚注:
看到您打算发送到DB:
我希望您计划使用mysqli准备好的语句,或PDO使用预先准备好的语句.
| 归档时间: |
|
| 查看次数: |
5502 次 |
| 最近记录: |