Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Wyszukiwarka pokazuje wszystkie produkty

Twój formularz nie ma odpowiedniej struktury — pole „user_query” znajduje się poza formularzem, więc $_GET['user_query'] nigdy nie zostanie ustawiony. Spróbuj to zmienić:

<form class="form-wrapper cf">
    <input type="text" name="user_query" placeholder="Search here..." required>
  <form method="get" action="results.php" enctype="multipart/form-data">
    <button type="submit" name="search" value="Search">Search</button>
</form> 

Do czegoś takiego:

<div class="form-wrapper cf">
    <form method="get" action="results.php" enctype="multipart/form-data">
        <input type="text" name="user_query" placeholder="Search here..." required>
        <button type="submit" name="search" value="Search">Search</button>
    </form> 
</div>

Ponadto, jak zauważyło kilku innych, jest to podatne na wstrzyknięcie SQL. Ten post omawia scenariusz bardzo podobny do twojego:Jak mogę zapobiec wstrzykiwaniu SQL w PHP?

Zdecydowanie sugeruję, abyś przepuścił wygenerowany kod przez usługę walidacji, aby wyłapać błędy w swoim html. Upewnij się, że używasz wygenerowanego kodu html (skopiuj z "wyświetl źródło" w przeglądarce), a nie tylko kodu z pliku php, ponieważ walidator nie zrozumie PHP. Konsorcjum WWW ma dobre narzędzie:http://validator.w3.org/#validate_by_input




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak wyszukiwać podciągi Soundex() w MySQL?

  2. Znak Euro nie wyświetla się na stronie

  3. Szybki i łatwy sposób na migrację SQLite3 do MySQL?

  4. Ograniczenie klucza podstawowego MySql z nazwą

  5. Jak dynamicznie korzystać z wielu baz danych dla jednego modelu w CakePHP?