在 PHP 分支

Branching in PHP

我有一个php代码,但每次我运行这段代码,它总是在"else"块中显示结果---> "wrong",即使用户名和密码正确,请帮助。谢谢。

<?php
  $userid_temp="admin";
  $password_temp="admin123";

  if($_POST['login'])
  {
    $userid=$_POST['$userid'];
    $password=$_POST['$password'];

    if($userid==$userid_temp and $password==$password_temp)
    {
      echo "success";
    }
    else
    {
      echo "wrong <br />";
    }
  }
?>
<form method="post">
  <input type="text" name="userid" placeholder="user id" /><br />
  <input type="text" name="password" placeholder="password" /><br />
  <input type="submit" value="login" name="login" />
</form>

运行 var_dump($_POST); die();if (isset($_POST)) 条件下,您将看到您提交的内容。

就像@Sourabh 和@ArtisticPhoenix 所说的,您正在引用一个变量,但您想要的是 $_POST 数组中的参数名称。

删除 $,这应该有效。

<?php
  $userid_temp = "admin";
  $password_temp = "admin123";

  if($_POST['login'])
  {
    $userid = $_POST['userid']; // $userid
    $password = $_POST['password']; // $password

    if($userid == $userid_temp and $password == $password_temp)
    {
      echo "success";
    }
    else
    {
      echo "wrong <br />";
    }
  }
?>

    <form method="post">
      <input type="text" name="userid" placeholder="user id" /><br />
      <input type="text" name="password" placeholder="password" /><br />
      <input type="submit" value="login" name="login" />
    </form>