我想使用 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();
}