2017-01-18 3 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)

Try это сделать:

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)) ' –

Смежные вопросы