Здравствуйте, помогите пожалуйста новичку. В общем проблема в том, что когда я нажимаю кнопку "поиск" ,то значение, которое я выбрал в выпадающем списке не появляется в адресной строке браузера. Вот как адресная строка выглядит после нажатия кнопки "Поиск" http://s3/ss.php?sol= PHP: <form method="GET" aсtion="sss.php"> <select name="sol"> <?PHP $db=mysql_connect("localhost","admin,"12345"); mysql_select_db("baza",$db); $result=mysql_query("SELECT * FROM kp",$db); while ($kp = mysql_fetch_row($result)) { echo "<option value='".$kp["id_kp"]."'>".$kp[4]."</option><br>"; } ?> </select> <input type=submit value="Поиск"> </form>
появляется же. просто оно пустое. И вообще этот код у тебя работать не дожен, ты кавычку потерял. --- Добавлено --- и надо использовать htmlspecialchars() на каждом выводе в html, где не надо, чтобы была возможность писать сам html, а то тебе насуют за обе щёки в итоге. Для краткости я делаю так: PHP: function h ($str) { return htmlspecialchars($str); }
Если честно не очень понял, кто и почему мне насует, скажите пожалуйста, а как сделать, что бы значение не пустое было? ведь значения из базы подгружаются в список, мне просто нужно что бы при выборе какого либо из этих значений оно появлялось и в адресной строке
Подрастешь - поймешь Попробуй вот так и никто тебе не насует) PHP: <?php $db = mysql_connect("localhost", "admin, "12345"); mysql_select_db("baza", $db); $result = mysql_query("SELECT * FROM kp", $db); $optionsHTML = ''; while ($row = mysql_fetch_array($result)) { $idKP = htmlspecialchars($row['id_kp']); $someShit = htmlspecialchars($row[4]); $optionsHTML .= "<option value='$idKP'>$someShit</option>"; } ?> <form method="GET" aсtion="sss.php"> <select name="sol"> <?php echo $optionsHTML; ?> </select> <input type=submit value="Поиск"> </form> ?>
@CoolKid, первым делом, что ты должен был сделать, прежде чем писать за него код, это объяснить ему, что mysql давно устарел и уже является говном мамонта, который использовать не стоит.
А что нужно использовать? SomeShit Спасибо вам большое. Сначала правда не работало, видимо как-то не так копирует с форума, перепечатал код вручную и заработало. Единственное, что переменная "SomeShit" почему-то не показывала текст в списке, т.е. значения из базы подгружались в список, но их не было видно, вместо них были пустые строки. Поменял $SomeShit на $row[4] и теперь все хорошо
Я ничего никому не должен, тем более что-то там объяснять. Единственный момент, когда я должен объяснить - это когда за деньги веду занятия по PHP и JS в онлайн школе. В остальные моменты я оставляю это на свое собственное усмотрение. Человеку нужно разобраться с текущей проблемой в данный момент. Я бы мог объяснить, что mysqli - тоже фигня и нужно использовать PDO. Или что PDO - слишком низкоуровнево и нужно абстрагироваться, используя ORM. Но что это даст на текущем уровне развития? Правильно - ничего.
Может лучше тогда и не объяснять совсем? Данная тема в разделе для новичков. Из этого следует, что человек хочет чему-то научиться. А это значит, что надо человеку сразу объяснить как делать правильно, либо он выучит неправильно и так дальше и будет использовать устаревшие технологии, а потом в один прекрасный момент после обновления сервера всё перестанет работать и прибежит обратно на форум спрашивать что делать и исправлять всё то, что он успел написать. И всё потому, что ему не удосужились написать когда-то одну строчку "чувак, делай не так, делай так". Но куда все мои рассуждения, ты же ведёшь онлайн курсы по PHP и JS.
Именно, и поэтому знаю что когда и кому нужно. А вот когда он прибежит спрашивать что не так, почему не работает, или когда услышит, что есть mysqli и придет спрашивать что это такое - вот тогда и нужно ответить развернуто. Давать ответы раньше чем возникли вопросы - бессмысленно, а иногда даже вредно.
Пожалуй с этим я соглашусь. Но ты бы мог заметить, что эта функция устарела. Внимательный возмет на заметку, поймет, невнимательный пропустит, или другой скажет:-" Накуй ты пошел со своим устарело, напиши мне код", но это не суть. Ну типа пысы и все такое ))
интересная мысль. типа новичку не забивать голову тем что есть какие то там разные библиотеки, а с начала освоить как всё работает...
А у тебя пуканчик то бомбит, да?) Иначе чем объяснить тот факт, что ты докопался до всех моих постов, в каждом нашел что-то, к чему можно придраться?)
Да ну брось. Просто любой нормальный препод знает, что лучше сначала научить человека как правильно, чем потом переучивать, когда он уже привык делать неправильно. Если ты этого не понимаешь, то ты не препод, а говнопрепод. =) А нахрена ты пишешь безапеляционную бездоказательную хуергу на право и на лево - этот вопрос ты можешь задать самому себе. Вроде взрослый чел, а пишешь чепушню всякую. Такие пирожки.