切换功能以根据用户输入不起作用来更改页面

时间:2018-10-16 08:03:24

标签: php html

我正在尝试根据表单中的用户输入来更改页面。用户输入他们的标签,它会转到包含详细信息的用户页面。当前,它只是继续尝试更改页面,然后最终超时。这是我的代码:

开关声明

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页面,但不是。

有人可以指出正确的方向吗?

3 个答案:

答案 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
}

....