За последние 24 часа нас посетили 50884 программиста и 3175 роботов. Сейчас ищут 977 программистов ...

Нуб вопрос

Тема в разделе "PHP для новичков", создана пользователем ponchic, 5 ноя 2014.

  1. ponchic

    ponchic Новичок

    С нами с:
    29 окт 2014
    Сообщения:
    38
    Симпатии:
    0
    Вот я делаю редирект центр
    свитч
    Сделал так что при значении гет l=1 будет пенеаправляться на 1 сайт.
    дефаулт:
    если в гет вставить не цифру а сайт то он должен перенаправляться на этот сайт, но это не происходит, почему?
    Код (Text):
    1. <?php
    2. //error_reporting(E_ALL);
    3. echo "its work!";
    4. $_GET['l'] = $l;
    5. if(isset($_GET['l']))
    6. {
    7. echo "its work! 2";
    8.  
    9. switch($_GET['l'])
    10. {
    11. case 1:
    12.    echo 'its work! 3';
    13.    echo '<!DOCTYPE HTMl><html><head>
    14. <meta http-equiv="refresh" content="0;URL=http://ab-w.net" />
    15. </head> </html>';
    16. break;
    17. default:
    18. echo '<!DOCTYPE HTMl><html><head>
    19. <meta http-equiv="refresh" content="0;URL=http://$l" />
    20. </head> </html>';
    21.  
    22.  
    23. }
    24.  
    25. }
    26.  
    27.  
    28. ?>
     
  2. mahmuzar

    mahmuzar Старожил

    С нами с:
    6 апр 2012
    Сообщения:
    4.631
    Симпатии:
    425
    Адрес:
    РД, г. Махачкала.
    объявление переменной не может начинаться с цифры

    Добавлено спустя 3 минуты 40 секунд:
    а может ты просто хотел инициализировать единичкой?

    Добавлено спустя 1 минуту 19 секунд:
    пардон, сильно похожа на 1
     
  3. ponchic

    ponchic Новичок

    С нами с:
    29 окт 2014
    Сообщения:
    38
    Симпатии:
    0
    http://nullrefer.com/ в дифаулте должен быть скрипт как работает этот сайт
     
  4. mahmuzar

    mahmuzar Старожил

    С нами с:
    6 апр 2012
    Сообщения:
    4.631
    Симпатии:
    425
    Адрес:
    РД, г. Махачкала.
    покажи как ты инициализируешь $l
     
  5. ponchic

    ponchic Новичок

    С нами с:
    29 окт 2014
    Сообщения:
    38
    Симпатии:
    0
    блин я в ахуе, запускал этот скрипт вчера (на девере) всё работало по первому казу:1 нормально, по дефалту нет, а сёдня воще не работает.
    Запустите кто нить у себя и если можно поправьте

    Добавлено спустя 1 минуту:
    Код (Text):
    1. $_GET['l'] = $l;
     
  6. mahmuzar

    mahmuzar Старожил

    С нами с:
    6 апр 2012
    Сообщения:
    4.631
    Симпатии:
    425
    Адрес:
    РД, г. Махачкала.
    покажи где ты инициализируешь переменную $l

    Добавлено спустя 2 минуты 9 секунд:
    возможно она не инициализирована или же инициализирована не тем значением.
     
  7. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    Дык $l пустая. Куда ж перенаправлять.
     
  8. ponchic

    ponchic Новичок

    С нами с:
    29 окт 2014
    Сообщения:
    38
    Симпатии:
    0
    http://post/redirector/index.php?l=1
    всё вчера ещё работало!!!!!!!!!!
    Может что то с денвером?
     
  9. mahmuzar

    mahmuzar Старожил

    С нами с:
    6 апр 2012
    Сообщения:
    4.631
    Симпатии:
    425
    Адрес:
    РД, г. Махачкала.
    не слушает. Я подумал, может инициализирована переменная в другом файле, но не показывает.

    Код (Text):
    1. $_GET['l'] = $_GET['l'];
    Добавлено спустя 2 минуты 5 секунд:
    по идее инициализация не нужна, уже отправляя запрос ты создаешь $_GET['l'] = 1;
     
  10. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    Я на стеночку повешу.
    Зачем ты в GET вкладываешь значение из $l, если тебе нужно наоборот? Тебе нужно вытащить значение из гета же. Более того, то, что ты делаешь - бесполезное дублирование значений. Что мешает работать непосредственно с $_GET['l']?

    Суть твоей конструкции "$_GET['l'] = $l;" в том, что пофигу, что указано в строке браузера - что бы не пришло тебе в $_GET['l'], ты это собственноручно переписываешь на какое-то другое значение. В примере из первого поста - на никакое, ибо $l не инициализирована никак. Просто закомменть строчку с "$_GET['l'] = $l;" И все заработает.
     
  11. ponchic

    ponchic Новичок

    С нами с:
    29 окт 2014
    Сообщения:
    38
    Симпатии:
    0
    НЕ
    (некоторые знают что евгений попов создал такой скрипт и даёт его с лицензией на 1 домен всем кто купил его водянистый курс, а я хочу создать типо того что бы рабочий народ мог пользоватца им бесплатно (нос заложен, бошка болит писать грамотно немогу));
    echo $_САМЫЙ_ТИПИЧНЫЙ_ОТВЕТ_ЧАЙНИКОВ_НА_ПОДОБНЫХ_ФОРУМАХ['Не злиться'];
    вот правильный код:
    Код (Text):
    1. <?php
    2. //error_reporting(E_ALL);
    3. echo "its work!"; //проверяем работает ли пых
    4. echo $_GET['l'];
    5.  
    6. if(isset($_GET['l'])) //тут иф в котором чекаем есть ли в в переменной что то и если да то выполняем свитч казе
    7. {
    8. echo "its work! 2";
    9.  
    10. switch($_GET['l'])
    11. {
    12. case 1:
    13.    echo 'its work! 3';
    14.    echo '<!DOCTYPE HTMl><html><head>
    15. <meta http-equiv="refresh" content="0;URL=http://ab-w.net" />
    16. </head> </html>';
    17. break;
    18. default:
    19. echo "<!DOCTYPE HTMl><html><head> <meta http-equiv='refresh' content='0;URL=" . $_GET['l'] . "' /></head> </html>";
    20. echo $l;
    21. echo $_GET['l'];
    22. }
    23.  
    24. }
    25.  
    26.  
    27. ?>
    щас я поем и буду доделывать админку

    Добавлено спустя 2 минуты:
    Бл, точно(не вниматьсяность).
     
  12. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    А чем правильный код от неправильного отличается, ты просек?
     
  13. metadon

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

    С нами с:
    6 фев 2006
    Сообщения:
    779
    Симпатии:
    0
    Почитай документацию по переменным php.net/manual/ru/language.variables.basics.php
     
  14. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    Значит не просек, до того, как я указал. Печально. Копипастой много не накодишь.
     
  15. mahmuzar

    mahmuzar Старожил

    С нами с:
    6 апр 2012
    Сообщения:
    4.631
    Симпатии:
    425
    Адрес:
    РД, г. Махачкала.
    простите меня грешного))) улыбнулся сам:-D
     
  16. ponchic

    ponchic Новичок

    С нами с:
    29 окт 2014
    Сообщения:
    38
    Симпатии:
    0
    Я вообще пытаюсь сам налепить, хотя знаю шо в гугле есть 100500 вариантов,
     
  17. mahmuzar

    mahmuzar Старожил

    С нами с:
    6 апр 2012
    Сообщения:
    4.631
    Симпатии:
    425
    Адрес:
    РД, г. Махачкала.
    перечитываю мэт зандстра, вчера ночью не спал.))
    кстати, я пытался заметить что переменная уже присутствует
     
  18. ponchic

    ponchic Новичок

    С нами с:
    29 окт 2014
    Сообщения:
    38
    Симпатии:
    0
    ________ Что мешает работать непосредственно с $_GET['l']?
    боялся что сдесь будет не корректно интрепретироваться (всё гавно с этого и началось)
    Код (Text):
    1. echo "<!DOCTYPE HTMl><html><head> <meta http-equiv='refresh' content='0;URL=http://" . $_GET['l'] . "' /></head> </html>";
     
  19. romach

    romach Старожил

    С нами с:
    26 окт 2013
    Сообщения:
    2.904
    Симпатии:
    719
    Что такое "редирект-центр"? Вы тут вообще о чем?
     
  20. ponchic

    ponchic Новичок

    С нами с:
    29 окт 2014
    Сообщения:
    38
    Симпатии:
    0
    [​IMG]
     
  21. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    Гламурное название для спаморассылалки.
     
  22. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    Проклятищ партизанен! Ничего не рассказывают!

    Добавлено спустя 1 минуту 20 секунд:
    регистер глобалс детектед

    Добавлено спустя 3 минуты 44 секунды:
    во вконтактике?
     
  23. mahmuzar

    mahmuzar Старожил

    С нами с:
    6 апр 2012
    Сообщения:
    4.631
    Симпатии:
    425
    Адрес:
    РД, г. Махачкала.
    уже на Php.ru есть
     
  24. romach

    romach Старожил

    С нами с:
    26 окт 2013
    Сообщения:
    2.904
    Симпатии:
    719
    Код (PHP):
    1. <?php
    2. $default = 'php.ru';
    3. $sites = [
    4.     'ya' => 'ya.ru',
    5.     'g' => 'google.com'
    6. ];
    7. if (isset($_GET['to']) && isset($sites[$_GET['to']])) {
    8.     header("Location: http://{$sites[$_GET['to']]}");
    9. } elseif (isset($_GET['to']) && filter_var('http://'.$_GET['to'], FILTER_VALIDATE_URL)) {
    10.     $url = 'http://'.$_GET['to'];
    11.     header("Location: {$url}");
    12. } else {
    13.     header("Location: http://{$default}");
    14. } 
    А в чем смысл этого действа?

    Вот $_GET['l'] = $_GET['l']; - это круто. Тут даже некоторая доля философии есть )
     
  25. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    Видел, но ведь это не стеночка.