2013-04-02 4 views
0

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

Моя проблема заключается в отображении сообщения об ошибке, она перенаправляется, когда var = Yes, но когда она дает мне var = no, я не могу заставить ее отображать сообщение об ошибке. Если я заменил $ errormsg на заголовок (..); он работает, поэтому я знаю, что это не мое заявление.

if (isset($_GET['var'])) { 
      $var = $_GET['var']; 
      $errormsg = ''; 
      if ($var == 'Yes') { 
       header('Location: http://www.google.com'); exit; 
      } 
      else if ($var == 'no') { 
       $errormsg = 'This is an error message.'; 
      } 

     }; 

И это сообщение об ошибке выше форме:

<div class="errormsg"><?php echo $errormsg; ?></div> 

Мой PHP способность ограничена, и я не могу понять, что я делаю неправильно, любая помощь будет оценена.

Спасибо!

+3

Глупый вопрос ... но должно ли оно быть «Нет» с капиталом, как «Да»? – Mattt

+0

Хотелось бы, чтобы все было так просто, но это на самом деле & var = no. Это происходит из отдельного сервиса. – user1272433

+0

Чтобы получить небольшую информацию о том, как это объединяется, если перенаправление работает в 'else if ($ var == 'no') {' part, то, вероятно, '$ errormsg' находится не в той же области или не перезаписывается где-то с пустым значением. – dbf

ответ

0

Моя догадка является $ вар не возвращает то, что вы ожидаете (возможно, «Нет» вместо «нет», как mjayt предложил в комментариях.

Первый шаг будет отлаживать, и определить, какие $ вар фактически возвращаются. Попробуйте простые операторы печати и идти оттуда.

+0

Дело в том, что когда я размещаю заголовок ('Местоположение: http://www.google.com'); exit; " в выражении $ var == 'no' он перенаправляет меня. Поэтому я должен делать что-то неправильно с $ errormsg. – user1272433

0

Попробуйте повторить $ ErrorMsg непосредственно под если блок без каких-либо HTML. Смотрите, если ваш текст возвращается.

Думаю, вы могли бы удалить, что полуфинал толстой кишки из этой последней фигурной скобки также

+0

Это не помогло, но это на сайте WordPress, и я переместил PHP из заголовка и на шаблон страницы, и он действительно сработал ... по какой-то причине, когда я впервые тестировал, я не мог получить перенаправление на работу, если оно не было в заголовке. Теперь, похоже, спасибо за помощь каждого, я ценю это, но я, похоже, решил это. – user1272433

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