2016-01-12 3 views
-6

Так что я пытаюсь запустить некоторый PHP-код, если URL-адрес точно соответствует тому, что я укажу ... если URL-адрес не соответствует этому, он ничего не должен делать. Однако, если он соответствует URL-адресу, я хочу запустить другой оператор, чтобы проверить, зарегистрирован ли пользователь ... если они не должны ничего делать. Если это не так, следует перенаправить их. Я написал для этого код, но он, похоже, не работает ... никаких идей?PHP - Если внутри a if

код здесь:

$host = $_SERVER['SERVER_NAME'] . $_SERVER['REQUEST_URI']; 
if($host == 'example.com') 
{ 
    //User is on main page 
    if (is_user_logged_in()) { 
     //Do nothing 
     } else { 
     header("Location: https://example.com/welcome"); 
     } 
} else {/*do nothing*/} 
+1

"но не кажется, что это будет работать" - какая часть точно в каком смысле? – VolkerK

+1

Определите «не работает». Какое указание у вас есть, что есть ошибка? – David

+0

@VolkerK Я только что обновил сообщение ... поставлю оператор if в неправильной области. В принципе, он не перенаправляет пользователя нигде, когда он находится на примере domain.com, даже если он не зарегистрирован в – dwinnbrown

ответ

0

Попробуйте

$host = $_SERVER['SERVER_NAME']; 
if($host == 'example.com' && !is_user_logged_in()) 
{ 
    header("Location: https://example.com/welcome"); 

} else {/*do nothing*/} 
+0

, пожалуйста, ознакомьтесь с обновленным вопросом ... поставьте код не в том месте - doh – dwinnbrown

+0

лучше использовать 'exit;' после заголовка. –

+0

похоже, что он должен работать на меня, но это не так .... Я использую права $ host правильно? Я хочу проверить, что мой url - https://example.com - указан в коде. – dwinnbrown

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