我是Web开发的新手,并且一直在忙于BootStrap
。我一直在尝试在我的新网站上创建一个Web表单,但我似乎无法访问用户名变量。
这是我的表单代码:
<form class="navbar-form navbar-left" role="search" action="username">
<div class="form-group">
<input name="username" type="text" class="form-control" placeholder="Username">
</div>
<button type="submit" class="btn btn-default">Search</button>
</form>
这是我在用户名文件夹中的index.php
:
<?php
echo $_POST['username'];
echo 'fail';
echo 'username';
if(isset($_POST['username'])) {
$name = $_POST['username'];
echo 'success';
}
?>
通过我的调试,我得到消息无法显示,但没有显示用户名,所以我认为我做错了设置用户名或访问它。
答案 0 :(得分:2)
根据您的描述,您的HTML代码应如下所示:
<form method="post" class="navbar-form navbar-left" role="search" action="username/index.php">
<div class="form-group">
<input name="username" type="text" class="form-control" placeholder="Username">
</div>
<button type="submit" class="btn btn-default">Search</button>
</form>
您也可以使用<input class="btn btn-default" type="submit" value="Search"/>
代替<button type="submit"></button>
。
答案 1 :(得分:0)
您有以下错误
您没有在表单中设置method
属性。因此,在提交表单时,数据将通过get方法发布。您需要访问$_GET
变量才能获取表格数据。因此,当您提交表单时,数据将显示在$_GET
变量中。但您尝试访问代码中的$_POST
变量。因此,您可以尝试将方法属性设置为method="post
在你的表单中继续使用index.php中的相同代码或尝试在index.php中将$_POST
更改为$ _GET`并且不对表单进行任何更改
提交表单时,你正在definging index.php中的代码。所以你需要在表单中设置action="index.php"
所以最终会是这样的
<form class="navbar-form navbar-left" role="search" action="username/index.php" method="post">
<div class="form-group">
<input name="username" type="text" class="form-control" placeholder="Username">
</div>
<button type="submit" class="btn btn-default">Search</button>
</form>
的index.php
<?php
echo $_POST['username'];
echo 'fail';
echo 'username';
if(isset($_POST['username'])) {
$name = $_POST['username'];
echo 'success';
}
?>
OR
<form class="navbar-form navbar-left" role="search" action="username/index.php">
<div class="form-group">
<input name="username" type="text" class="form-control" placeholder="Username">
</div>
<button type="submit" class="btn btn-default">Search</button>
</form>
的index.php
<?php
echo $_GET['username'];
echo 'fail';
echo 'username';
if(isset($_GET['username'])) {
$name = $_GET['username'];
echo 'success';
}
?>
答案 2 :(得分:0)
如果您使用action
访问用户名,请将index.php
属性设置为method="post"
并设置$_POST['username']
。