За последние 24 часа нас посетили 22803 программиста и 1259 роботов. Сейчас ищут 728 программистов ...

получение данных из выпадающего списка методом GET

Тема в разделе "PHP для новичков", создана пользователем Izmaylov, 3 май 2016.

Метки:
  1. Izmaylov

    Izmaylov Новичок

    С нами с:
    3 май 2016
    Сообщения:
    9
    Симпатии:
    0
    Здравствуйте, помогите пожалуйста новичку.
    В общем проблема в том, что
    когда я нажимаю кнопку "поиск" ,то значение, которое я выбрал в выпадающем списке не появляется в адресной строке браузера.
    Вот как адресная строка выглядит после нажатия кнопки "Поиск"
    http://s3/ss.php?sol=


    PHP:
    1. <form method="GET" aсtion="sss.php">
    2. <select name="sol">
    3. <?PHP
    4. $db=mysql_connect("localhost","admin,"12345");
    5. mysql_select_db("baza",$db);
    6. $result=mysql_query("SELECT * FROM kp",$db);
    7.  
    8. while ($kp = mysql_fetch_row($result))
    9. {
    10. echo "<option value='".$kp["id_kp"]."'>".$kp[4]."</option><br>";
    11. }
    12. ?>
    13. </select>
    14. <input type=submit value="Поиск">
    15. </form>
     
    #1 Izmaylov, 3 май 2016
    Последнее редактирование модератором: 3 май 2016
  2. igordata

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

    С нами с:
    18 мар 2010
    Сообщения:
    32.410
    Симпатии:
    1.768
    появляется же. просто оно пустое. И вообще этот код у тебя работать не дожен, ты кавычку потерял.
    --- Добавлено ---
    и надо использовать htmlspecialchars() на каждом выводе в html, где не надо, чтобы была возможность писать сам html, а то тебе насуют за обе щёки в итоге. Для краткости я делаю так:
    PHP:
    1. function h ($str) {
    2.   return htmlspecialchars($str);
    3. }
     
  3. Izmaylov

    Izmaylov Новичок

    С нами с:
    3 май 2016
    Сообщения:
    9
    Симпатии:
    0
    Если честно не очень понял, кто и почему мне насует, скажите пожалуйста, а как сделать, что бы значение не пустое было? ведь значения из базы подгружаются в список, мне просто нужно что бы при выборе какого либо из этих значений оно появлялось и в адресной строке
     
  4. CoolKid

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

    С нами с:
    24 сен 2014
    Сообщения:
    33
    Симпатии:
    5
    Подрастешь - поймешь :)

    Попробуй вот так и никто тебе не насует)
    PHP:
    1. <?php
    2. $db = mysql_connect("localhost", "admin, "12345");
    3. mysql_select_db("baza", $db);
    4. $result = mysql_query("SELECT * FROM kp", $db);
    5. $optionsHTML = '';
    6.  
    7. while ($row = mysql_fetch_array($result)) {
    8.    $idKP = htmlspecialchars($row['id_kp']);
    9.    $someShit = htmlspecialchars($row[4]);
    10.    $optionsHTML .=  "<option value='$idKP'>$someShit</option>";
    11. }
    12. ?>
    13.  
    14. <form method="GET" aсtion="sss.php">
    15. <select name="sol">
    16. <?php echo $optionsHTML; ?>
    17. </select>
    18. <input type=submit value="Поиск">
    19. </form>
    20. ?>
     
    Izmaylov нравится это.
  5. mr.akv

    mr.akv Активный пользователь

    С нами с:
    31 мар 2015
    Сообщения:
    1.604
    Симпатии:
    206
    @CoolKid, первым делом, что ты должен был сделать, прежде чем писать за него код, это объяснить ему, что mysql давно устарел и уже является говном мамонта, который использовать не стоит.
     
  6. Izmaylov

    Izmaylov Новичок

    С нами с:
    3 май 2016
    Сообщения:
    9
    Симпатии:
    0
    А что нужно использовать?
    SomeShit:D Спасибо вам большое. Сначала правда не работало, видимо как-то не так копирует с форума, перепечатал код вручную и заработало. Единственное, что переменная "SomeShit" почему-то не показывала текст в списке, т.е. значения из базы подгружались в список, но их не было видно, вместо них были пустые строки. Поменял $SomeShit на $row[4] и теперь все хорошо
     
  7. mr.akv

    mr.akv Активный пользователь

    С нами с:
    31 мар 2015
    Сообщения:
    1.604
    Симпатии:
    206
    mysqli, новая улучшенная библиотека
     
  8. CoolKid

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

    С нами с:
    24 сен 2014
    Сообщения:
    33
    Симпатии:
    5
    Я ничего никому не должен, тем более что-то там объяснять.
    Единственный момент, когда я должен объяснить - это когда за деньги веду занятия по PHP и JS в онлайн школе.
    В остальные моменты я оставляю это на свое собственное усмотрение.

    Человеку нужно разобраться с текущей проблемой в данный момент. Я бы мог объяснить, что mysqli - тоже фигня и нужно использовать PDO. Или что PDO - слишком низкоуровнево и нужно абстрагироваться, используя ORM. Но что это даст на текущем уровне развития? Правильно - ничего.
     
  9. igordata

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

    С нами с:
    18 мар 2010
    Сообщения:
    32.410
    Симпатии:
    1.768
    или не нужно
     
  10. mr.akv

    mr.akv Активный пользователь

    С нами с:
    31 мар 2015
    Сообщения:
    1.604
    Симпатии:
    206
    Может лучше тогда и не объяснять совсем? Данная тема в разделе для новичков. Из этого следует, что человек хочет чему-то научиться. А это значит, что надо человеку сразу объяснить как делать правильно, либо он выучит неправильно и так дальше и будет использовать устаревшие технологии, а потом в один прекрасный момент после обновления сервера всё перестанет работать и прибежит обратно на форум спрашивать что делать и исправлять всё то, что он успел написать. И всё потому, что ему не удосужились написать когда-то одну строчку "чувак, делай не так, делай так".
    Но куда все мои рассуждения, ты же ведёшь онлайн курсы по PHP и JS.
     
    machetero нравится это.
  11. CoolKid

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

    С нами с:
    24 сен 2014
    Сообщения:
    33
    Симпатии:
    5
    Именно, и поэтому знаю что когда и кому нужно.

    А вот когда он прибежит спрашивать что не так, почему не работает, или когда услышит, что есть mysqli и придет спрашивать что это такое - вот тогда и нужно ответить развернуто.

    Давать ответы раньше чем возникли вопросы - бессмысленно, а иногда даже вредно.
     
  12. mahmuzar

    mahmuzar Старожил

    С нами с:
    6 апр 2012
    Сообщения:
    4.632
    Симпатии:
    425
    Адрес:
    РД, г. Махачкала.
    Пожалуй с этим я соглашусь. Но ты бы мог заметить, что эта функция устарела. Внимательный возмет на заметку, поймет, невнимательный пропустит, или другой скажет:-" Накуй ты пошел со своим устарело, напиши мне код", но это не суть.

    Ну типа пысы и все такое ))
     
  13. denis01

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

    С нами с:
    9 дек 2014
    Сообщения:
    12.230
    Симпатии:
    1.715
    Адрес:
    Молдова, г.Кишинёв
    Почему?
     
  14. TeslaFeo

    TeslaFeo Старожил

    С нами с:
    9 мар 2016
    Сообщения:
    2.989
    Симпатии:
    759
    интересная мысль. типа новичку не забивать голову тем что есть какие то там разные библиотеки, а с начала освоить как всё работает...
     
  15. igordata

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

    С нами с:
    18 мар 2010
    Сообщения:
    32.410
    Симпатии:
    1.768
    потому что он воображает и важничает, и пытается объяснить, почему он налажал выше. Вот и всё.
     
    mr.akv и machetero нравится это.
  16. CoolKid

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

    С нами с:
    24 сен 2014
    Сообщения:
    33
    Симпатии:
    5
    А у тебя пуканчик то бомбит, да?)
    Иначе чем объяснить тот факт, что ты докопался до всех моих постов, в каждом нашел что-то, к чему можно придраться?)
     
    Abyss нравится это.
  17. igordata

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

    С нами с:
    18 мар 2010
    Сообщения:
    32.410
    Симпатии:
    1.768
    Да ну брось. Просто любой нормальный препод знает, что лучше сначала научить человека как правильно, чем потом переучивать, когда он уже привык делать неправильно. Если ты этого не понимаешь, то ты не препод, а говнопрепод. =)

    А нахрена ты пишешь безапеляционную бездоказательную хуергу на право и на лево - этот вопрос ты можешь задать самому себе. Вроде взрослый чел, а пишешь чепушню всякую.

    Такие пирожки.
     
    mr.akv нравится это.
  18. machetero

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

    С нами с:
    25 окт 2014
    Сообщения:
    499
    Симпатии:
    21
    Попов ты ли это ?
    Вторая фраза из другого треда особенно убила. Вообще конечно скромней надо быть.
     
    mr.akv нравится это.
  19. mr.akv

    mr.akv Активный пользователь

    С нами с:
    31 мар 2015
    Сообщения:
    1.604
    Симпатии:
    206
    Я ещё в первом посте хотел параллель с поповым провести :D
     
  20. igordata

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

    С нами с:
    18 мар 2010
    Сообщения:
    32.410
    Симпатии:
    1.768
    пипец я грамотей