Перенаправление заголовка php в зависимости от переменных - PullRequest
0 голосов
/ 02 октября 2009

У меня есть посетители, приходящие на мой сайт из 5 отдельных источников, каждый из которых отправляет переменную в URL-адресе в зависимости от того, откуда он, в случае, если эти источники отправляют посетителей, я хочу отправить их на отдельную страницу, которая более соответствует пользователь

<?php
     $var = $_GET["var"];
     if( $var='site1'){
              header('Location: ' . "http://www.example.com/site1page");
     }else{
              header('Location: ' . 'http://www.example.com/othersites/&?var='.$var,);
     }
?>

однако, независимо от того, что входит в $ var, он попадает в первое местоположение заголовка (site1page) Кто-нибудь может объяснить, почему это происходит?

Ответы [ 3 ]

4 голосов
/ 02 октября 2009

Если этот код является фактическим кодом, который вы выполняете - это потому, что вы используете "=", операцию присваивания вместо "==" оператора сравнения. PHP позволяет вам кусать себя таким образом без какого-либо предупреждения.

0 голосов
/ 02 октября 2009

Кроме того, я думаю, что запятая во второй строке заголовка даст вам ошибку разбора.

0 голосов
/ 02 октября 2009

Ваш код выполняет присваивание (единый знак равенства). Вы хотите тест на равенство (двойной знак равенства):

<?php if( $var=='site1') { header('Location: ' . "http://www.mysite.com/site1page"); } else { header('Location: ' . 'http://www.mysite.com/othersites/&?var='.$var,); } ?>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...