2016-02-11 5 views
0

Я подготовил переменную вверх по странице, а затем хочу вывести ее для завершения перенаправления местоположения, я проверил отправку по электронной почте, повторив ее и поместив в браузер и все, кажется, правы, не знаю, почему это не работаетИспользование переменной в заголовке («location:»)

$sendlink = "landing.php?destination1=" . $destination1 . "&destination2=" . $destination2 . ""; 

if($destination1 & $destination2 != ""){ 
    header("Location: /" . $sendlink); 
} 
+0

Включить ошибки отчетности [ 'error_reporting (E_ALL);'] (http://php.net/manual /en/function.error-reporting.php) ['ini_set ('display_errors', 1);'] (http://php.net/manual/en/function.in-set.php) - вы, вероятно, получаете предупреждение «* Header уже отправлено .. *» (или другой тип ошибки, вы должны проверить его). – Qirel

+0

Как это исправить? –

+0

'if ($ destination1 &' <отсутствует один из тех, и вам нужно использовать другую логику. –

ответ

3

Видя все эти другие ответы выскакивают .. ..

Во-первых, вам не хватает амперсанда в условном выражении.

if($destination1 & $destination2 != "") 
       ^missing an ampersand here 

Должно быть два из них, и вам также необходимо использовать ту же логику для обеих переменных.

if($destination1 != "" && $destination2 != "") или использовать условный empty() на обоих.

I.e .: !empty(). Оператор ! означает «не» пустой.

Ссылки:

Другое дело; лучше добавить exit; после заголовка, если у вас больше кода ниже. В противном случае может потребоваться продолжить выполнение остальной части скрипта.

Ссылка:

Хотя убедившись, что вы не выводя перед тем заголовком.

Consult следующее, если Вы получаете заголовки отправлено уведомление:

+0

Прекрасно сделано, мисс Воробей – Phiter

+0

@PhiterFernandes * grazie * ;-) –

0

Предоставлено: Fred -ii-

if($destination1 != "" && $destination2 != "") или использовать empty()

2

для достижения этой цели, существует немало способов.

Метод 1 !empty():

if((!empty($destination1)) && (!empty($destination2))) { 
    header("Location: /" . $sendlink); 
} 

Метод 2 isset() (не указан):

if((isset($destination1)) && (isset($destination2))) { 
    header("Location: /" . $sendlink); 
} 

Метод 3 !=='':

if(($destination1 !== '') && ($destination2 !== '')) { 
    header("Location: /" . $sendlink); 
} 
+0

Я думаю, что OP хочет противоположность каждой из первых двух ('! empty()' и '! isset()') Кроме того, нет необходимости в круглых скобках вокруг этих выражений. –

+0

@ EdCottrell О да, спасибо большое – Panda

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