Добро пожаловать, Гость!
Поисковик-тролль. Код php.
PHP/MySQL | Поисковик-тролль. Код php.
kizilek
:
<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>
<?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 = $_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>Вы искали'.$name.'</b>';
echo $row['text'];
}else {
echo 'Заполните поля!';
}
?>
Помощи прошу по сему говнокоду, который творю саморучно не зная толком php. Итак:
Есть поле для ввода текста, кнопочка отправки.
Нужно:
не важно что ввел пользователь, выплывала бы надпись..
Вы искали "то-то-то"...
>здесь текст из бд random<.
В бд: таблица search с полем text. id поле не нужно.
Спасибо.
Поисковик-тролль. Код php.
15 Июля 2016<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>
<?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 = $_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>Вы искали'.$name.'</b>';
echo $row['text'];
}else {
echo 'Заполните поля!';
}
?>
Помощи прошу по сему говнокоду, который творю саморучно не зная толком php. Итак:
Есть поле для ввода текста, кнопочка отправки.
Нужно:
не важно что ввел пользователь, выплывала бы надпись..
Вы искали "то-то-то"...
>здесь текст из бд random<.
В бд: таблица search с полем text. id поле не нужно.
Спасибо.
Комментарии:
Zed 20 Июля 2016
Добавлено:
При записи в базу. mysql_real_escape_string()
Добавлено:
kizilek, а чтоб ссылка работала просто пиши
echo '<a href="'.$post['link'].'">ссылка</a>';
kizilek (20 Июля 2016):
Zed, спасибо за помощь. Последний вопрос: как записать и вытащить из базы ссылку, чтобы она не просто отображалась как текст, а работала?
htmlspecialchar_decode() - безопасна?
Зачем этоZed, спасибо за помощь. Последний вопрос: как записать и вытащить из базы ссылку, чтобы она не просто отображалась как текст, а работала?
htmlspecialchar_decode() - безопасна?
Добавлено:
При записи в базу. mysql_real_escape_string()
Добавлено:
kizilek, а чтоб ссылка работала просто пиши
echo '<a href="'.$post['link'].'">ссылка</a>';
kizilek
20 Июля 2016
Автор темы
Zed, спасибо за помощь. Последний вопрос: как записать и вытащить из базы ссылку, чтобы она не просто отображалась как текст, а работала?
htmlspecialchar_decode() - безопасна?
Автор темы
Zed, спасибо за помощь. Последний вопрос: как записать и вытащить из базы ссылку, чтобы она не просто отображалась как текст, а работала?
htmlspecialchar_decode() - безопасна?
Zed 19 Июля 2016
<?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 (19 Июля 2016):
Zed, Заработало, спасибо. + переменная $name небыла задана ($name = $_POST['search']). Только результаты отображаются над полем ввода. А как сделать под ним? И желательно бы введенные данные остались в поле для текста.
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
19 Июля 2016
Автор темы
Zed, Заработало, спасибо. + переменная $name небыла задана ($name = $_POST['search']). Только результаты отображаются над полем ввода. А как сделать под ним? И желательно бы введенные данные остались в поле для текста.
Автор темы
Zed, Заработало, спасибо. + переменная $name небыла задана ($name = $_POST['search']). Только результаты отображаются над полем ввода. А как сделать под ним? И желательно бы введенные данные остались в поле для текста.
Zed 19 Июля 2016
Добавлено:
kizilek, попробуй добавить кнопке аттрибут name="submit"
Добавлено:
<input id="submit" type="submit" class="search_button" value="Поиск" name="submit"/>
kizilek (19 Июля 2016):
Zed, помоги уж, пожалуйста. Даже заплачУ. На тел, вебмани или стим.
kizilek, да мне ничего не надоZed, помоги уж, пожалуйста. Даже заплачУ. На тел, вебмани или стим.
Добавлено:
kizilek, попробуй добавить кнопке аттрибут name="submit"
Добавлено:
<input id="submit" type="submit" class="search_button" value="Поиск" name="submit"/>
Zed 19 Июля 2016
kizilek (19 Июля 2016):
Zed, к сожалению, все равно не работает. Причин не могу найти..
kizilek, хм.Zed, к сожалению, все равно не работает. Причин не могу найти..