За последние 24 часа нас посетили 59239 программистов и 1831 робот. Сейчас ищут 882 программиста ...

Помогите с формой

Тема в разделе "PHP для новичков", создана пользователем zxcvbop, 10 сен 2006.

  1. zxcvbop

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

    С нами с:
    30 авг 2006
    Сообщения:
    26
    Симпатии:
    0
    Адрес:
    Латвия, Рига.
    Вобщем ситуация такая: форма и обработчик находяться на одной станице, из формы передаются параметры обработчику и производятся соответствующие изменения на странице, но проблема в том, что при этом обнуляется информация в форме. Как зделать так, чтобы информация в форме необнулялась?
     
  2. Sh0t

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

    С нами с:
    14 июл 2006
    Сообщения:
    21
    Симпатии:
    0
    Код (Text):
    1.  
    2. <input type="text" name="blabla" value="<? echo (isset($_POST['blabla'])) ? $_POST['blabla']:'';?>">
     
  3. Mavir

    Mavir Guest

    Лучше так
    Код (Text):
    1. <input type="text" name="blabla" value="<? echo (isset($_POST['blabla'])) ? htmlspecialchars($_POST['blabla']):'';?>">
    На случай если в строке будут двойные кавычки. А для TEXTAREA, также и символы <>
     
  4. Nick-Rash

    Nick-Rash Активный пользователь

    С нами с:
    29 окт 2011
    Сообщения:
    24
    Симпатии:
    0
    Адрес:
    Санкт-Петербург
    Учусь делать "Запросы к базе данных с использованием информации из формы"
    База данных mysql. Использую PEAR DB.
    Есть таблица monthnew в ней два столбца month и days.
    Требуется на основе инструкции LIKE построить предложение поиска по столбцу month. Чтобы, например, при вводе August форма выдала таблицу:
    Month__Days
    August_31__

    Вот сам php код.
    PHP:
    1. <?php
    2. // Проверка и вывод на экран критических ошибок
    3.  ini_set('display_errors',1);
    4.  error_reporting(E_ALL ^E_NOTICE);
    5.  
    6. // Задать таймзону
    7.  date_default_timezone_set('Europe/Moscow');
    8.  
    9.  // Запросы к базе данных с использованием информации из формы
    10. function query_db($qstring) {
    11.   include('db_login.php'); // Параметры соединения с базой данных
    12.   require_once('C:\PHP\PEAR\DB.php'); // PEAR DB
    13.   $connection =
    14.    DB::connect("mysql://$db_username:$db_password@$db_host/$db_database");
    15.     if (DB::isError($connection)) {
    16.     die("Error connecting to database:<br/>".
    17.         DB::errorMessage($connection));
    18. }  
    19.     else
    20. {
    21.       print " Connection was successful!<br />";
    22. }
    23.  
    24. if (get_magic_quotes_gpc()) { // Защита от инъекции SQL
    25.   $qstring = stripslashes($qstring);
    26. }
    27. $qstring = mysql_real_escape_string($qstring);
    28.  
    29. $query = "SELECT month, days".
    30.                "FROM monthnew".
    31.                "WHERE month like  '%$qstring%'"; // Построение строки запроса
    32.  
    33. $result = $connection->query($query);
    34.     if (DB::isError($result)) {
    35.     die("The request failed:<br />".
    36.     $query." ".DB::errorMessage($result));
    37.     }
    38. // Проверка успешности процесса  
    39.     else
    40. {
    41.       print " The process of successful!<br />";
    42. }
    43. echo('<table border="1">');
    44. echo '<tr><th>Month</th><th>Days</th></tr>';
    45.  
    46. while ($result_row = $result->fetchRow()) {
    47.     echo "<tr><td>";
    48.     echo $result_row[0] . '</td><td>';
    49.     echo $result_row[1] . '</td></tr>';
    50. }
    51.     echo ("</table>");
    52.     $connection->disconnect();
    53. }
    54. ?>
    55.  
    56. <html>
    57. <head>
    58.   <title>Building a Form</title>
    59. </head>
    60. <body>
    61.  
    62. <?php
    63. $search = htmlentities($_GET["search"]);
    64. $self = htmlentities($_SERVER['PHP_SELF']);
    65. if ($search != NULL)
    66. {
    67.     echo "Search: <strong>$search</strong>.";
    68.     query_db($search);
    69. }
    70.     else {
    71.       echo(' <form action="'.$self.'" method="get">
    72.         <label>Search!:
    73.           <input type="text" name="search" />
    74.         </label>
    75.         <input type="submit" value="Go" />
    76.             </form>
    77.          ');
    78. }
    79.  
    80. ?>
    81. </body>
    82. </html>
    Вот проблемное место в коде:
    PHP:
    1. $query = "SELECT month, days".
    2.                    "FROM monthnew".
    3.                     "WHERE month like  '%$qstring%'";  // Построении строки запроса
    В моем случае при вводе в поле формы "August". Браузер выдает:
    • Search: August. Connection was successful!
      The request failed:
      SELECT month, daysFROM monthnewWHERE month like '%August%' syntax error
    В чем я ошибаюсь?
     
  5. krow7

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

    С нами с:
    12 авг 2009
    Сообщения:
    398
    Симпатии:
    0
    Адрес:
    из Азии
    daysFROM monthnewWHERE слитно написано
     
  6. Nick-Rash

    Nick-Rash Активный пользователь

    С нами с:
    29 окт 2011
    Сообщения:
    24
    Симпатии:
    0
    Адрес:
    Санкт-Петербург
    Слитно выводит браузер, в самом же коде раздельно написано...
    PHP:
    1. $query = "SELECT month, days".
    2.                     "FROM monthnew".
    3.                       "WHERE month like  '%$qstring%'";  // Построении строки запроса
     
  7. krow7

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

    С нами с:
    12 авг 2009
    Сообщения:
    398
    Симпатии:
    0
    Адрес:
    из Азии
    у вас раздельно
    PHP:
    1. $query = "SELECT month, days ".
    2.                      "FROM monthnew".
    3.                        " WHERE month like  '%$qstring%'";  // Построении строки запроса
    если так?
     
  8. Nick-Rash

    Nick-Rash Активный пользователь

    С нами с:
    29 окт 2011
    Сообщения:
    24
    Симпатии:
    0
    Адрес:
    Санкт-Петербург
    Если так, то все работает, спасибо!