Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Буду признателен за помощь в обработке форм PHP+MySQL

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Описание: с помощью запросов $_GET[' ']
evg1401
Отправлено: 23 Сентября, 2017 - 10:19:05
Post Id


Новичок


Покинул форум
Сообщений всего: 5
Дата рег-ции: Сент. 2017  


Помог: 0 раз(а)




Я только учу php, поэтому не смейтесь над ошибками, какие найдете.
Написал "учебную" функцию для поиска в БД, при этом я хочу ограничиться одним файлом-обработчиком и в
CODE (html):
скопировать код в буфер обмена
  1. <form action = "$self" method = "get">
поставил переменную, которая включает в себя результат работы $_SERVER['PHP_SELF'].
При выполнении программы после отправки данных формы выдает ошибку: The requested URL /$self was not found on this server; видимо в результате не обнаруживается она. Помогите пжл найти причину!
Собственно сам код:

PHP:
скопировать код в буфер обмена
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8">
  5.         <title>function</title>
  6. </head>
  7. <body>
  8. <?
  9. $search = htmlentities($_GET["search"]);
  10. $self = htmlentities($_SERVER['PHP_SELF']);
  11. if ($search !=NULL) {
  12.         echo "$search";
  13.         echo query_db($search);
  14. }
  15. else {
  16.         echo('<form action = "$self" method = "GET">
  17.         <p>Строка поиска:<input type = "text" name = "search"/>
  18.         <input type = "submit" value = "искать"/>
  19.         </form>');
  20. }
  21. ?>
  22. </body>
  23. </html>
  24. <?
  25.  
  26. function query_db ($qstring) {
  27. include_once('db.php');
  28. require_once('DB.php');
  29.  
  30. $connection = DB::connect("mysql://$db_user:$db_pass@$db_host/$db_name");
  31.  
  32. if (DB::isError($connection)) {
  33.         die("нет соединения с $db_name: <br />" .DB::errorMessage($connection));
  34. }
  35.         $qstring = stripslashes($qstring);
  36. }
  37. $qstring = mysql_real_escape_string($qstring);
  38.  
  39. $query = "SELECT * FROM auto WHERE 'auto' like '%$qstring%'";
  40. $result = $connection->query($query);
  41.  
  42. if (DB::isError($query)) {
  43.         die("ошибка запроса $query: <br />" .DB::errorMessage($result));
  44. }
  45.  
  46. while ($total = $result->fetchRow()) {
  47.         echo '<p>результаты поиска по ключевому слову "<b>$qstring</b>: <br />"';
  48.         echo '$driver = $total[1] "<br />"';
  49.        
  50. }
  51. }
  52. ?>
  53.  

(Отредактировано автором: 23 Сентября, 2017 - 10:50:29)

 
 Top
Строитель
Отправлено: 23 Сентября, 2017 - 10:51:57
Post Id



Участник


Покинул форум
Сообщений всего: 1580
Дата рег-ции: Февр. 2014  
Откуда: Украина


Помог: 73 раз(а)




evg1401 переменную в форме надо писать:
CODE (html):
скопировать код в буфер обмена
  1. <!--или так-->
  2. <form action="<?= $self ?>" method="get">...</form>
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2.  
  3. //или так
  4. echo "<form action='{$self}' method='get'>...</form>";
  5.  
  6. //или так
  7. echo '<form action="'. $self .'" method="get">...</form>';

(Добавление)
Для вашего примера запись должна выглядеть так:
PHP:
скопировать код в буфер обмена
  1. echo '<form action="'. $self .'" method="get">
  2.    <p>Строка поиска:<input type="text" name="search" />
  3.    <input type="submit" value="искать" />
  4.    </form>';
 
 Top
evg1401
Отправлено: 23 Сентября, 2017 - 10:58:31
Post Id


Новичок


Покинул форум
Сообщений всего: 5
Дата рег-ции: Сент. 2017  


Помог: 0 раз(а)




[quote=Строитель]evg1401 переменную в форме надо писать:
CODE (html):
скопировать код в буфер обмена
  1. <!--или так-->
  2. <form action="<?= $self ?>" method="get">...</form>
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2.  
  3. //или так
  4. echo "<form action='{$self}' method='get'>...</form>";
  5.  
  6. //или так
  7. echo '<form action="'. $self .'" method="get">...</form>';

(Добавление)

Мужиик! Подошел вариант с контакенацией. Спасибо!

(Отредактировано автором: 23 Сентября, 2017 - 11:02:02)

 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« HTTP и PHP »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB