在同一页面上显示错误消息以进行登录 [英] display error message on same page for login

查看:72
本文介绍了在同一页面上显示错误消息以进行登录的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试在同一页面上显示错误消息.我知道我必须使用JavaScript.到目前为止,这是我的代码.但是它说1之后.我想这是我的数字!== 0我将如何摆脱这个1.

I am trying to display error message on same page. I know i have to use javascript. This is my code so far. However it says 1 after. I thnk this is from my numrows!==0 how would i get rid of this 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!");

?>

推荐答案

您实际上并不需要JavaScript.您可以在PHP中完成.如下所示.

You don't really need JavaScript to do this. You can do it in PHP. As shown below.

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

I've modified your PHP code. Place this in the file where you perform login.

<?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!");
      }

    ?>

只需在您的登录表单上做类似的事情.

And simply do something like this on your login form.

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

这篇关于在同一页面上显示错误消息以进行登录的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆