我正在使用Twitter Bootstrap来构建Web应用程序。我有一个表格,用户应输入他的姓名和姓氏,然后点击提交。问题是,$_POST
变回空洞。
我在Windows 8机器上使用WAMP。
<?php
if(isset($_POST["send"])) {
print_r($_POST)
} else {
?>
<form class="form-horizontal" action="" method="post">
<div class="control-group"> <!-- Firstname -->
<label class="control-label" for="inputEmail">First name</label>
<div class="controls">
<input type="text" id="inputName" placeholder="First name">
</div>
</div>
<div class="control-group"> <!-- Lastname -->
<label class="control-label" for="inputEmail">last name</label>
<div class="controls">
<input type="text" id="inputLastname" placeholder="Last name">
</div>
</div>
<div class="form-actions">
<button type="submit" name="send" class="btn btn-primary">Submit data</button>
<a href="<?php $mywebpage->goback(); ?>" class="btn">Cancel</a>
</div>
</form>
<?php
}
?>
提前致谢
答案 0 :(得分:22)
Plz尝试将名称添加到输入类型,如
<input type="text" id="inputLastname" name="inputLastname" placeholder="Last name">
现在检查$ _POST变量。
答案 1 :(得分:7)
您的输入没有name
属性。设置那些:
<input type="text" id="inputName" placeholder="First name" name="first_name" />
<input type="text" id="inputLastname" placeholder="Last name" name="last_name" >
另外,请查看检测表单提交的方式:
if(isset($_POST['send']))
您检查发布数据中是否存在提交按钮。这是个坏主意,因为在Internet Explorer的情况下,如果用户按下回车键以提交表单,则提交按钮将不会出现在帖子数据中。
更好的方法是:
if($_SERVER['REQUEST_METHOD'] == 'POST')
或者
if(isset($_POST['first_name'], $_POST['last_name']))
答案 2 :(得分:1)
<?php
if(isset($_POST["send"])) {
echo $_POST["inputName"];
echo $_POST["inputLastname"];
}
else {
?>
<form class="form-horizontal" action="<? echo $_SERVER['PHP_SELF']; ?>" method="POST">
<div class="control-group"> <!-- Firstname -->
<label class="control-label" for="inputEmail">First name</label>
<div class="controls">
<input type="text" id="inputName" placeholder="First name" name="inputName">
</div>
</div>
<div class="control-group"> <!-- Lastname -->
<label class="control-label" for="inputEmail">last name</label>
<div class="controls">
<input type="text" id="inputLastname" name="inputLastname" placeholder="Last name">
</div>
</div>
<div class="form-actions">
<input type="submit" name="send" class="btn btn-primary">Submit data</button>
<a href="#" class="btn">Cancel</a>
</div>
</form>
<?php
}
?>
答案 3 :(得分:0)
问题是你正在检查是否设置了$_POST['send']
,但它不会。表单中的“发送”字段是按钮,但该按钮没有值,因此它不会包含在$_POST
中。
希望有所帮助。
答案 4 :(得分:0)
我注意到使用&#39; 名称&#39;属性不能与 Bootstrap Validator 一起使用(if(isset($ _ POST [&#34; send&#34;]))。所以如果你想添加验证的话你的表格,我建议你按照这种方式!
解决方案
<button type="submit" class="btn btn-primary">Submit data</button>
PHP
if($_SERVER['REQUEST_METHOD'] == 'POST')
答案 5 :(得分:-2)
添加文件的位置或使用:
<form class="form-horizontal" action="<? echo $_SERVER['PHP_SELF']; ?>" method="post">