Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/reporting-services/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 这个登录和注册表单有什么问题吗?_Php_Mysql - Fatal编程技术网

Php 这个登录和注册表单有什么问题吗?

Php 这个登录和注册表单有什么问题吗?,php,mysql,Php,Mysql,所以我写了一篇cms,奇怪的问题发生了 这是我的注册函数: function register($email,$fullname,$password ) { global $connection; $date = time(); $pass = md5($password . SECURE_KEY); return mysql_query("INSERT INTO users(email, fullname, date, password)

所以我写了一篇cms,奇怪的问题发生了 这是我的注册函数:

function register($email,$fullname,$password )
    {
 global $connection;
 $date = time();
        $pass = md5($password . SECURE_KEY);
        return mysql_query("INSERT INTO users(email, fullname, date, password) 
            VALUES('$email', '$fullname', '$date', '$pass')") or die(mysql_error());    
    }
这是我的登录名:

   function login($email, $password, $remember)
    {
        global $connection;
        $login = mysql_query("SELECT * FROM users WHERE email = '$email' AND password = md5('$password')");

        if(mysql_num_rows($login)>0)
        {
            $loginResult = mysql_fetch_assoc($login);
            $_SESSION['userid'] =$loginResult['id'];
            $_SESSION['fullname'] =$loginResult['fullname'];
            if($loginResult['isAdmin'] == '1')
                $_SESSION['isadmin'] ='admin';




            if($remember)
            {
                setcookie('userid',$loginResult['id'], time() + 30, '/' );
            }

            return true;
        }
        else
        {
            return false;
        }
    }
我无法与我现在注册的用户登录这是登录页面:

$message = '';
if(isset($_POST['submit']))
{
    $remember = false;
    if(isset($_POST['chkRemember']) && $_POST['chkRemember'] == 'remember')
        $remember = true;
    $loginResult = login($_POST['txtEmail'], $_POST['txtPassword'], $remember);
    if(!$loginResult)
    {
        $message = ;
    }
    else
    {
      redirect_to("index.php");
    }
}
这是注册页面:

if(isset($_POST['submit']))
{


    register($_POST['txtEmail'],$_POST['txtFullname'], $_POST['txtPassword'] )    ;


}
当我注册一个用户时,它会添加到我的数据库中,但当我尝试使用它登录时,它会说用户名和密码是错误的
我的代码已损坏或是数据库问题???

您的密码错误。请不要使用md5,并研究如何使用
密码\u散列


您的密码是错误的,因为您在注册时附加了一个常量,但在登录时却没有。当您使用
密码\u hash
时,请将其删除,因为它会为您处理盐渍问题。

(1)它对SQL注入开放。(2) md5现在很弱。(3)
$message=是一个语法错误。。。我肯定还有更多,但这基本上是一个离题的问题,因为它只是“为我调试我的代码”。这对将来的任何人都没有帮助。@developerwjk-md5从来都不弱。它不是为密码设计的,它是一个简单的“工作”较少的散列算法。有什么问题吗?使用
mysql\u*
函数、全局变量、用于密码散列的md5、SQL Injectional漏洞,因此不推荐使用
mysql\u*
函数。开始使用
mysqli.*
或PDO。