Хотите добавить ключевые слова для поиска в URL страницы

Я пытаюсь вставить введенные пользователем ключевые слова в URL результатов поиска.
Я заставил его работать, изменив method = post на method = get, но затем он прервал поиск, и я не получил результатов. Я пытался изменить различные вещи, но ничего не работает, поэтому я вернулся к исходному коду, который работает (минус ключевые слова в URL)

URL-адрес после поиска: /imagesearch?go

Я хотел бы быть что-то вроде: /imagesearch?kewords+keyword or similar.

Спасибо, если вы можете указать мне правильное направление.

Вот мой оригинальный код:

<div align="center">
<p>Search by keyword..</p>
<form  method="post" action="imagesearch?go"  id="search-form">
<input  type="text" name="q">
<input  type="submit" name="sa" value="Search">
</form> </div>


if(isset($_POST['sa'])){
if(isset($_GET['go'])){
if(preg_match("/^[  a-zA-Z]+/", $_POST['q'])){
$name=$_POST['q'];

$sql="SELECT  ID FROM Image WHERE Name LIKE '%" . $name .  "%'  Order by Saleable Desc LIMIT 50";

//-run  the query against the mysql query function

$result=mysql_query($sql);
$content .= ' <p><div id="wrapper">';

// Loop

while($row=mysql_fetch_array($result)){
$id=$row['ID'];
$img = new Image($id);

0

Решение

$name=$_POST['q'];

$sql="SELECT  ID FROM Image WHERE Name LIKE '%" . $name .  "%'  Order by Saleable Desc LIMIT 50";

вы только получаете q из переменных POST. Как это должно работать с запросом GET?

Также, НИКОГДА НИКОГДА использовать пользовательский ввод непосредственно в запросе SQL. Представить q == "'; DROP TABLE Image;"! Тот, кто учил вас разработке сайтов, должен был сказать вам до даже начав объяснять, как вы выполняете SQL-запросы.

1

Другие решения

Что касается того, что вы хотите, это должно помочь.

    <html>
<form method="get">
<input type="text" name="q">
<button type="submit">Search</button>
</form>
</html>

<?php

if (isset($_GET['q'])) {
echo "<p>" . $_GET['q'] . "</p>";
}

?>
0

По вопросам рекламы [email protected]