我想创建一个在提交时在同一个php文件中调用PHP代码的表单。
请仔细阅读Why use $_SERVER['PHP_SELF'] instead of "",我似乎可以使用action=""
代替$_SERVER['PHP_SELF'];
来执行此操作。
如果是这样,当我点击提交时,为什么这个PHP代码不在文件顶部执行?
if(isset($_POST['submit'])) {
echo "submitted";
}
应该在页面上说submitted
。
在Google DevTools中,network
标签不显示正在调用该文件,只是重新加载了该页面。
表格摘要:
<div id="contactForm">
<form role="form" action="" method='post' accept-charset='UTF-8'>
<div class="row">
<div class="form-group col-xs-12 floating-label-form-group">
<input class="form-control" type="text" name="name" placeholder="Name">
</div>
</div>
<div class="row">
<div class="form-group col-xs-12">
<button type="submit" class="btn btn-lg btn-success">Send</button>
</div>
</div>
</form>
答案 0 :(得分:4)
它表示类型=&#34;提交&#34;,而不是名称=&#34;提交&#34; ..
答案 1 :(得分:1)
因为您的表单中没有名为&#34的变量;请提交&#34;。
如果您只想测试表单是否已提交,可以使用:
if($_POST) {
// ...
}
答案 2 :(得分:0)
您希望使用if(isset($_POST))
(否则您会收到PHP通知)并尝试将您的操作从""
更改为"#"
,同时添加name="submit"
}提交按钮的属性。