我正在尝试根据表单中的用户输入来更改页面。用户输入他们的标签,它会转到包含详细信息的用户页面。当前,它只是继续尝试更改页面,然后最终超时。这是我的代码:
开关声明
if(isset($_POST['submit'])) {
$name = $_GET['clan_tag'];
switch($name) {
case "player1":
header("Location: commander.php");
break;
case "player2":
header("Location: officer.php");
break;
...//
default:
header("Location: index.php");
}
}
表格
<form action="" method="get">
<input name="clan_tag" type="text" class="box" placeholder="Enter the clan players tag" autofocus />
<input type="submit" class="submit" value="SUBMIT" />
</form>
因此,如果用户在表单中输入player 1
然后提交,则应更改为commander.php页面,但不是。
有人可以指出正确的方向吗?
答案 0 :(得分:1)
我刚刚查看了您的代码,发现您的表单正在使用HTTP GET
方法发送数据,但是您的PHP脚本正在HTTP POST
中检查if(isset($_POST['submit']))
方法。所以我如下所示修改了PHP。
if(isset($_GET['clan_tag'])){
$name = $_GET['clan_tag'];
switch($name) {
case "player1":
header("Location: commander.php");
break;
case "player2":
header("Location: officer.php");
break;
default:
header("Location: index.php");
}
}
?>
我还修改了HTML,如下所示。
<form action="" method="get">
<input name="clan_tag" type="text" class="box" placeholder="Enter the clan players tag" autofocus />
<input type="submit" class="submit" value="SUBMIT" />
</form>
答案 1 :(得分:0)
首先,将第一行更改为
if(isset($_GET['submit'])){
2nd提供一个“名称”属性以提交按钮
<input type="submit" class="submit" value="SUBMIT" name="submit"/>
答案 2 :(得分:0)
以这种方式尝试:
在表单中: 属性方法在动作中写入“ post” =在路径中写入“ php文件在哪里”
即
<form action="path/yourfile.php" method="post">
<input name="clan_tag" type="text" class="box" placeholder="Enter the clan players tag" autofocus />
<input type="submit" class="submit" value="SUBMIT" />
</form>
在PHP文件中
if(isset($_POST['clan_tag'])) {
$name = $_POST['clan_tag'];
}
else{
$name="";//your code
}
....