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