Тема: Поисковик-тролль. Код php. (WAP/WEB мастеру/PHP/MySQL) Zed (15 Jul 2016 в 12:51) <? $text = mysql_real_escape_string($_POST[\'search\']); $sSQL = \'SELECT `text` FROM `search` ORDER BY RAND() LIMIT 1\'; $result = mysql_query($sSQL); if (!$result) { die(\'Ошибка запроса к БД ! \'.mysql_error()); } $row = mysql_fetch_array($result); if(isset($_POST[\'submit\'])) { echo \'<b>Вы искали\'.htmlspecialchars($name[\'text\']).\'</b>\'; echo $row[\'text\']; }else { echo \'Заполните поля!\'; } ?> kizilek (15 Jul 2016 в 13:49) Zed, не работает. Под полем ввода все время надпись \"Заполните поля\" и все. Zed (15 Jul 2016 в 14:26) <?php define (DB_HOST , \'localhost\' ); // Хост db define (DB_USER , \'user\' ); // Логин db define (DB_PASS , \'userpass\' ); // Пароль db define (DB_NAME , \'db_name\' ) ; // Название db mysql_connect (DB_HOST ,DB_USER , DB_PASS ); mysql_query( \"set names utf8\" ); mysql_select_db (DB_NAME ) ; $text = isset($_POST[\'search\']) ? $_POST[\'search\'] : NULL; if(isset($_POST[\'submit\']) && $text) { $sSQL = \'SELECT `text` FROM `search` ORDER BY RAND() LIMIT 1\'; $result = mysql_query($sSQL); if (!$result) { die(\'Ошибка запроса к БД ! \'.mysql_error()); } $row = mysql_fetch_array($result); echo \'<b>Вы искали\'.htmlspecialchars($name).\'</b>\'; echo htmlspecialchars($row[\'text\']); }else { echo \'Заполните поля!\'; } echo \' form method=\"post\" action=\"\"> <input type=\"text\" name=\"search\" id=\"search_box\" class=\"search_box\"> <input id=\"submit\" type=\"submit\" class=\"search_button\" value=\"Поиск\"> </div> <div>\'; ?> kizilek (19 Jul 2016 в 06:18) Zed, к сожалению, все равно не работает. Причин не могу найти.. Zed (19 Jul 2016 в 07:35) --Цитата-- kizilek (19 Jul 2016 в 06:18): Zed, к сожалению, все равно не работает. Причин не могу найти.. ---------- kizilek, хм. kizilek (19 Jul 2016 в 08:46) Zed, помоги уж, пожалуйста. Даже заплачУ. На тел, вебмани или стим. Zed (19 Jul 2016 в 09:04) --Цитата-- kizilek (19 Jul 2016 в 08:46): Zed, помоги уж, пожалуйста. Даже заплачУ. На тел, вебмани или стим. ---------- kizilek, да мне ничего не надо [i]Добавлено:[/i] kizilek, попробуй добавить кнопке аттрибут name=\"submit\" [i]Добавлено:[/i] <input id=\"submit\" type=\"submit\" class=\"search_button\" value=\"Поиск\" name=\"submit\"/> kizilek (19 Jul 2016 в 09:48) Zed, Заработало, спасибо. + переменная $name небыла задана ($name = $_POST[\'search\']). Только результаты отображаются над полем ввода. А как сделать под ним? И желательно бы введенные данные остались в поле для текста. Zed (19 Jul 2016 в 13:33) --Цитата-- kizilek (19 Jul 2016 в 09:48): Zed, Заработало, спасибо. + переменная $name небыла задана ($name = $_POST[\'search\']). Только результаты отображаются над полем ввода. А как сделать под ним? И желательно бы введенные данные остались в поле для текста. ---------- <?php define (DB_HOST , \'localhost\' ); // Хост db define (DB_USER , \'user\' ); // Логин db define (DB_PASS , \'userpass\' ); // Пароль db define (DB_NAME , \'db_name\' ) ; // Название db mysql_connect (DB_HOST ,DB_USER , DB_PASS ); mysql_query( \"set names utf8\" ); mysql_select_db (DB_NAME ) ; $text = isset($_POST[\'search\']) ? $_POST[\'search\'] : NULL; if(isset($_POST[\'submit\']) && $text) { $sSQL = \'SELECT `text` FROM `search` ORDER BY RAND() LIMIT 1\'; $result = mysql_query($sSQL); if (!$result) { die(\'Ошибка запроса к БД ! \'.mysql_error()); } $row = mysql_fetch_array($result); echo \'<b>Вы искали\'.htmlspecialchars($text).\'</b>\'; $res =htmlspecialchars($row[\'text\']); }else { echo \'Заполните поля!\'; } echo \' form method=\"post\" action=\"\"> <input type=\"text\" name=\"search\" id=\"search_box\" class=\"search_box\"> <input id=\"submit\" type=\"submit\" class=\"search_button\" value=\"Поиск\"> </div> <div>\'; if($res) echo $res; ?> kizilek (20 Jul 2016 в 06:16) Zed, спасибо за помощь. Последний вопрос: как записать и вытащить из базы ссылку, чтобы она не просто отображалась как текст, а работала? htmlspecialchar_decode() - безопасна? Zed (20 Jul 2016 в 07:51) --Цитата-- kizilek (20 Jul 2016 в 06:16): Zed, спасибо за помощь. Последний вопрос: как записать и вытащить из базы ссылку, чтобы она не просто отображалась как текст, а работала? htmlspecialchar_decode() - безопасна? ---------- Зачем это [i]Добавлено:[/i] При записи в базу. mysql_real_escape_string() [i]Добавлено:[/i] kizilek, а чтоб ссылка работала просто пиши echo \'<a href=\"\'.$post[\'link\'].\'\">ссылка</a>\'; Источник: http://dcms-social.ru/forum/20/41/61752/