2017-01-18 13 views
0

電子メールアドレスに特定の文字列が含まれている登録ユーザーをリダイレクトしようとしています。特定のユーザーを別のページにリダイレクトする(PHP)

たとえば、電子メール1 - > [email protected]
例のメール2 - > [email protected]

私は[email protected]を含む電子メールを分離して、ヘッダのリダイレクトを使用して別のページにそれらを送りたいです。これは、管理ページに[email protected]を含む電子メールでユーザーにサインインすることを意図しています。

現在、電子メールアドレスに関係なく、すべてのユーザーが同じページにリダイレクトされています。

以下のスニペットコード例。これは初めての質問ですが、私は十分な情報を提供していることを願っています。

$_SESSION["user_id"] = $row[0]; 
$_SESSION["fname"] = $row[1]; 
if ($email=="[email protected]") 
{ 
    header('Location:home.php'); 
} 
else 
    header ('Location:home2.php'); 
} 
+0

「$ email」はどこから来たのですか? –

+0

$ email \t = $ _POST ['email']; –

答えて

1

あなただけの最後の部分を比較したい場合は、電子メールの文字列を遮断する必要があります。

$cmp = "[email protected]"; 
if (substr($email, -strlen($cmp)) == $cmp) 
{ 
    header('Location:home.php'); 
} 
else 
    header ('Location:home2.php'); 
} 
+0

ありがとう、私はこの解決策とその作業を試みました。 –

2

正規表現で作業する必要があります。 (http://php.net/manual/en/function.preg-match.php

それを行う試してみてください。

preg_match("/\[email protected]\.com$/", $email, $result); 

if (!count($result)) 
{ 
    // Go to [email protected] page 
    header('Location:home.php'); 

} else 
    header ('Location:home2.php'); 

saluti、

+1

あなたは 'preg_match'を直接使うことができます:' if(preg_match( "/ \。abc @ email \ .com $ /"、$ email)) ' –

関連する問題