用户名/密码错误消息和重定向错误

问题描述 投票:1回答:3

创建客户端登录区域。我在clientLogin.html中登录表单:

       <form name="ClientLogin" method="post" action="login.php"> <br>
            <p>
             <label for='Username'>Username</label> <br>
            <input type="text" name="username" />
            </p>
            <p>

            <label for='Password'>Password</label> <br>
            <input type="password" name="password" />
            </p>
            <br>
            <input type="submit" value="Submit" />

        </form>

如果用户名和密码组合不正确,我想重定向到此页面,添加一条消息“不正确的用户名/密码,请再试一次”。这是login.php的代码:

<?php


//Connect to the database
    require('db.php');

    $user = mysql_real_escape_string($_POST["username"]);
    $pass = mysql_real_escape_string($_POST["password"]);

    $clientdata = mysql_query("SELECT * FROM Users WHERE username='$user' and            password='$pass'")
    or die (mysql_error());

    $data = mysql_fetch_array($clientdata, MYSQL_ASSOC);

    if(mysql_num_rows($clientdata) == 1){

session_start();


$_SESSION['username'] = $user;


header('Location: profile.php');

    }else{
header('Location: clientLogin.html');
    }

我希望clientLogin.html文件需要更改为.php文件。除此之外,我很难过。任何指导将不胜感激。

php html login passwords username
3个回答
1
投票

您需要将clientLogin.html的扩展名从.html更改为.php

header('Location: clientLogin.html');改为header('Location: clientLogin.php');

将这部分代码添加到clientLogin.php页面的顶部:

<?php 
session_start();
if(empty($_SESSION['username'])) {
 echo 'incorrect username/ password please try again.' ;
}
?> 


2
投票

您可以在调用ClientLogin时设置SESSION标志。

    $_SESSION['loginerror'] = 1;

在ClientLogin.php中

    if ($_SESSION['loginerror'] > 0) {
      /* Display Appropriate Error message */
    }

0
投票

你应该使用exit();重定向到其他文件后...

header('Location: profile.php');
exit();

你请使用mysqli而不是mysql。不会被新版本的php支持。

© www.soinside.com 2019 - 2024. All rights reserved.