1

我想使用 preg_replace 作为我的用户名/电子邮件登录。
我将它存储在 SESSION 中,并想检查该数据是否在
数据库中。因为我想让用户有机会
使用用户名或电子邮件登录,所以这个表达式有点怪异,
我不知道如何管理它。任何人都可以帮忙吗?

所以“$loginusername”是用户名(A-Za-z0-9)和电子邮件!所以它不应该
替换那些特殊字符......我发现这是
电子邮件的表达:

([A-Za-z0-9._-]+)@([A-Za-z0-9-]+)([A-Za-z0-9.-]*[A-Za-z0-9-]+)*\.([A-Za-z){1,4}

并希望将其作为 preg_replace 添加到已经存在的:

preg_replace('#[^A-Za-z0-9]#i','', $_SESSION["username"]);

我无法让它工作,总是出现语法错误。

我现在的代码是:

if  ( !isset ($_SESSION['X5636gYGWEHidwWLOGIN'] )   )
    {
        header("Location: login.php");
        exit();
    }

include("includes/connectdatabase.php");

$loginusername = preg_replace('#[^A-Za-z0-9]#i','', $_SESSION["username"]);
$loginpassword = sha1(preg_replace('#[^A-Za-z0-9]#i', '', $_SESSION["password"])); 

$sessionvalidation= mysql_query("
                SELECT * 
                FROM gebruikers 
                WHERE username = '$loginusername' AND password = '$loginpassword' 
                OR email = '$loginusername' AND password = '$loginpassword' ");
$existCount = mysql_num_rows($sessionvalidation);
if ($existCount == 0)
{
    header("Location: login.php");
    exit();
}
4

0 回答 0