ユーザー名/電子メール ログインに 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();
}