preg_replace用于用户名和电子邮件作为一个字段

时间:2012-10-16 09:53:25

标签: php mysql preg-replace login-script

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

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

([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();
}

0 个答案:

没有答案