在同一页面上显示错误消息以进行登录

时间:2014-03-02 15:06:49

标签: php html mysql

我正在尝试在同一页面上显示错误消息。我知道我必须使用javascript。到目前为止这是我的代码。然而它之后说了1。我知道这是来自我的数字!== 0我怎么能摆脱这个1.

<?php
session_start();
$username = $_POST['username'];
$password = $_POST['password'];

if ($username&&$password)
{
    $host_name = 'localhost';
$db_user ='root';
$db_pass = '';
$db_name = 'login';
/* Connect to MySQL */
 $con = mysql_connect("$host_name","$db_user","$db_pass") or die ("Couldn't connect!");
 $db = mysql_select_db("$db_name") or die ("Couldn't connect to database!");

 $query = mysql_query("SELECT * FROM users WHERE username='$username'");
 $numrows = mysql_num_rows($query);
 if ($numrows!=0)
 {

    while ($row = mysql_fetch_assoc($query))
    {
        $dbusername = $row['username'];
        $dbpassword = $row['password'];

    }
    /*Check to see if they match! */
    if ($username==$dbusername&&$password==$dbpassword)
    {
        echo "You're in! <a href='member.php'> Click</a> here to enter the member page";
            $_SESSION['username']==$username;
    }
    else
        echo "Incorrect password";
    }
     else
        die("That user doesn't exist!");

    echo $numrows;
 }
 else
    die("Please enter username and/or password!");

?>

1 个答案:

答案 0 :(得分:3)

你真的不需要JavaScript来做到这一点。你可以用PHP做到这一点。如下图所示。

我修改了您的PHP代码。将其放在您执行登录的文件中。

<?php

    session_start();
    $username = $_POST['username'];
    $password = $_POST['password'];

    if (!empty($username) && !empty($password))
    {
        $host_name = 'localhost';
        $db_user ='root';
        $db_pass = '';
        $db_name = 'login';

         $con = mysql_connect($host_name, $db_user, $db_pass) or die ("Couldn't connect!");
         $db = mysql_select_db($db_name) or die ("Couldn't connect to database!");

         $query = mysql_query("SELECT * FROM users WHERE username=".mysql_real_escape_string($username)." and password = ".mysql_real_escape_string($password));
         $numrows = mysql_num_rows($query);

         if($numrows == 1)
         {
            $_SESSION['username'] = $username; //Store username to session for futher authorization 
            header("Location: member.php"); //Redirect user to home page
         }
         else {
                $_SESSION['errMsg'] = "Invalid username or password";
         }
        header("Location: login.php"); //Redirect user back to your login form
     }
     else {
        die("Please enter username and/or password!");
      }

    ?>

只需在登录表单上执行此类操作即可。

<?php session_start(); ?>
    <html>
    <body>
        <div id="errMsg">
            <?php if(!empty($_SESSION['errMsg'])) { echo $_SESSION['errMsg']; } ?>
        </div>
        <?php unset($_SESSION['errMsg']); ?>
    </body>