Php 正确的用户名和密码不会';没有任何效果

Php 正确的用户名和密码不会';没有任何效果,php,Php,我在php方面有一些问题。这是我的密码: if (isset($_POST['submit'])) { // Form has been submitte echo "Submitted"; $username = trim($_POST['username']); $password = trim($_POST['password']); // Check database to see if username/password exist. $found_user = User::auth

我在php方面有一些问题。这是我的密码:

if (isset($_POST['submit'])) { // Form has been submitte
echo "Submitted";
$username = trim($_POST['username']);
$password = trim($_POST['password']);

// Check database to see if username/password exist.
$found_user = User::authenticate($username, $password);


if ($found_user) {

$session->login($found_user);

redirect_to("index.php");
} 

} else { // Form has not been submitted.
$username = "";
$password = "";
}

?>
<html>
<head>
<title>Photo Gallery</title>
<link href="../stylesheets/main.css" media="all" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="header">
  <h1>Photo Gallery</h1>
</div>
<div id="main">
    <h2>Staff Login</h2>


    <form action="login.php" method="post">
      <table style="float: left;">
        <tr>
          <td>Username:</td>
          <td>
            <input type="text" name="username" maxlength="30" value="
<?php echo htmlentities($username); ?>" />
          </td>
        </tr>
        <tr>
          <td>Password:</td>
          <td>
            <input type="password" name="password" maxlength="30" value="
<?php echo htmlentities($password); ?>" />
          </td>
        </tr>
        <tr>
          <td colspan="2">
            <input type="submit" name="submit" value="Login" />
          </td>
        </tr>
      </table>
    </form>

</div>
<div id="footer">Copyright <?php echo date("Y", time()); ?>, Gio baramidze</div>
</body>
</html>
if(isset($\u POST['submit']){//表单已提交
回应“已提交”;
$username=trim($_POST['username']);
$password=trim($_POST['password']);
//检查数据库以查看用户名/密码是否存在。
$found\u user=user::authenticate($username,$password);
如果($found\u用户){
$session->login($found\u user);
将_重定向到(“index.php”);
} 
}否则{//表格尚未提交。
$username=“”;
$password=“”;
}
?>
照片库
照片库
员工登录
用户名:

我猜上面的代码是index.php。当发现用户时,它会重定向到同一页面(快速),因此不会设置$u POST,因为它会被重新加载

if ($found_user) {

$session->login($found_user);

redirect_to("index.php"); //If user found redirect without $_POST information.
} 
您应该使用$\u会话数组。这是一个服务器端阵列,用户登录后可以用用户ID填充它。在需要检查登录名的每个页面上,都应包含一个检查此ID的脚本。您还可以使用此脚本存储用户名或其他需要经常访问的内容:

$_SESSION['USER_ID'] = //Some ID
$_SESSION['USERNAME'] = $username
要使$\u会话正常工作,您需要以下内容:

<?php
session_start();
//other code...
if ($found_user) {

    $session->login($found_user);
    //give the user an ID
    $_SESSION['USER_ID'] = //some id, usually fetched from a database
    //Let's give a name too
    $_SESSION['USERNAME'] = $username;   
    //Now redirect
    redirect_to("index.php"); //If user found redirect without $_POST information.
    } 
    //Other code...
?>
出于测试目的,您可以将上述代码存储在which.php中,并重定向到login.php中的which.php。如果在login.php上找到用户,它应该传递if语句,从而显示用户名和ID。

您可以通过


你为什么要修改密码?为什么要在它上面加一个
max_length
30
?你缺少一个
}
。现在你必须找出在哪里。@BurhanKhalid没有丢失的
}
。不,我没有丢失}。这个文件是登录页还是索引。phpdoos并不重要,你没有看到“已提交”,因为在那之后你被重定向了一小部分。根据您现在提供给我们的信息,它的工作效果似乎完全符合预期。我仍然建议使用$\u会话为该用户设置会话。在注销或afk设定的时间量时,取消设置会话。由于这是服务器端,您可以很容易地检查客户端是否登录。是的,但如果我想在用户登录时将其重定向到index.php,该怎么办。我应该怎么做?在重定向之前,请将其存储在$\u会话中,如图所示。在index.php上,您可以再次调用它,因为它是服务器端的全局数组。使用$_SESSION时,您需要使用SESSION_start()在每个页面的顶部启动它;
<?php
session_start();
echo $_SESSION['USER_ID'];
echo $_SESSION['USERNAME'];
//or something nicer
if (isset($_SESSION['USER_ID']))
{
    echo "User ".$_SESSION['USERNAME']." has logged in and has user id [".$_SESSION['USER_ID']."].";
}
else
{
    echo "Not logged on."
}
?>
if(isset($_POST['username']) && isset($_POST['password'])){
        //do your stuff here
}