За последние 24 часа нас посетили 55392 программиста и 1793 робота. Сейчас ищут 743 программиста ...

Не ловит Get

Тема в разделе "PHP для новичков", создана пользователем produser, 27 фев 2012.

  1. produser

    produser Активный пользователь

    С нами с:
    21 янв 2012
    Сообщения:
    61
    Симпатии:
    0
    Здравтсвуйте. Есть меню, ссылки там вида ?page="значение". Проверяю так:

    Код (Text):
    1.  
    2. if ($_GET['page']=='services'){ делаем то то }
    3. if ($_GET['page']=='contact'){делаем то то}
    при первой ссылке ?page=services все работает нормально, при второй ?page=contact ничего не происходит( хотя в строке браузера четко вижу ?page=contact точнее срабатывает первая ссылка почему то...
    Проверяю echo('page='.$_GET['page']); выводит page=services хотя в строке браузера все тот же ?page=contact
     
  2. sobachnik

    sobachnik Старожил

    С нами с:
    20 апр 2007
    Сообщения:
    3.380
    Симпатии:
    13
    Адрес:
    Дмитров, МО
    Мистика :)

    А ты нигде выше не перезаписываешь значение переменной $_GET['page'] ? Почти уверен, что у тебя вместо

    Код (Text):
    1. if ($_GET['page']=='services'){ делаем то то }
    В реальном коде написано

    Код (Text):
    1. if ($_GET['page'] = 'services'){ делаем то то }
    Т.е. с одинарным знаком равенства - и происходит присвоение вместо сравнения.
     
  3. produser

    produser Активный пользователь

    С нами с:
    21 янв 2012
    Сообщения:
    61
    Симпатии:
    0
    Я сам в шоке, ниче нигде не присваевается лишнего, напиши как оно должно быть я вставлю проверю, 99% что я гдето туплю)
     
  4. artem-Kuzmin

    artem-Kuzmin Активный пользователь

    С нами с:
    16 фев 2012
    Сообщения:
    809
    Симпатии:
    0
    Пишите не if if if if
    А if else if
    Аль switch ибо зачем лишние проверки
     
  5. sobachnik

    sobachnik Старожил

    С нами с:
    20 апр 2007
    Сообщения:
    3.380
    Симпатии:
    13
    Адрес:
    Дмитров, МО
    Напиши в том файле в самом начале (после самого первого <?php ) следующее:

    Код (PHP):
    1. print_r($_GET); 
    И посмотри, что выведет.
     
  6. produser

    produser Активный пользователь

    С нами с:
    21 янв 2012
    Сообщения:
    61
    Симпатии:
    0
    Пишет что page=services хотя четко вижу что ?page=contact...
    Вывод переменной сделал перед любыми действиями с ней
     
  7. sobachnik

    sobachnik Старожил

    С нами с:
    20 апр 2007
    Сообщения:
    3.380
    Симпатии:
    13
    Адрес:
    Дмитров, МО
    А там у тебя кода сильно много? Если не очень - то можешь выложить всё сюда "как есть", без каких-либо изменений. Просто "Ctrl + A --> Ctrl + C --> и здесь Ctrl + V"...
     
  8. produser

    produser Активный пользователь

    С нами с:
    21 янв 2012
    Сообщения:
    61
    Симпатии:
    0
    Протупил, всем спасибо за участие, действительно при проверке присваевал в ифе вместо ==...