【发布时间】:2017-10-22 03:21:23
【问题描述】:
我知道这似乎是一个常见问题,但我搜索了很多,但没有任何帮助。我有以下代码,在提交时,除了页面重新加载之外什么都没有发生。我尝试使用 enctype 和不使用 <input type=button ...> 和 <button ...> 但我从来没有得到回声...
<?php
if (isset($_POST['Submit']) && !empty($_POST['Submit'])){
echo 'It works';
} else {
?>
<form method="post" enctype="multipart/form-data" action="">
<div class="form-group">
<label for="name" class="control-label">Name</label>
<input name="name" type="text" class="form-control" id="name" placeholder="Name"
aria-describedby="helpBlock"
oninvalid="this.setCustomValidity('Bitte tragen Sie Ihren Namen ein.')"
oninput="setCustomValidity('')"
required>
</div>
<!-- multiple other form-groups like the first one -->
<div class="form-group">
<input name="Submit" type="submit" class="btn btn-default" value="Abschicken">
</div>
<div id="helpBlock">* Alle Felder sind Pflichtfelder.</div>
</form>
<?php } ?>
更新:
- 我通过 xampp 在 localhost 上运行此代码
- 删除
!empty($_POST['Submit'])也无济于事 - 是的,它是一个 .php 文件
更新:
如果我尝试进入
foreach ($_POST as $key => $value) {
echo 'index key ' . $key . ' value ' . $value . '<br>';}
页面上什么都没有显示 - 所以我假设 $_POST 变量没有设置...有人能说出原因吗?
【问题讨论】:
-
尝试为你的 $_POST 添加一个 var_dump 看看你有什么
-
将此代码复制/粘贴到我的开发箱中 - 工作正常。当您提交表单时,
$_POST数组包含["Submit"] => string(10) "Abschicken"。所以问题是:1)你是在 Web 服务器上运行它吗?2)它是一个.php文件(而不是.html) -
您是如何使用网络服务器和
http://localhost或直接在浏览器中作为file:///运行的? -
告诉我/我们 Julia,你在 HTML 源代码“代码”中看到了什么?如果是这样,那么请参阅我的第一条评论。编辑(ping):@CD001 的评论也适用于此。
-
@CD001 我不同意。不会出现这种情况的原因是,如果他们使用 PHP 代码,您还应该使用
.php作为扩展而不是.html。由于 PHP 不在file:///上运行,并且扩展名为.php,因此浏览器只会将所有内容显示为文本,因此不需要查看源代码。
标签: php forms post button submit