Php PDO搜索表单断开链接
我构建了一个表单来获取信息,它工作得很好,但是我遇到了一个问题,URL在最后没有改变。使其无法仅显示指向该搜索词的链接 假设我搜索了谷歌搜索这个词 我的URL仍然是Php PDO搜索表单断开链接,php,mysql,pdo,Php,Mysql,Pdo,我构建了一个表单来获取信息,它工作得很好,但是我遇到了一个问题,URL在最后没有改变。使其无法仅显示指向该搜索词的链接 假设我搜索了谷歌搜索这个词 我的URL仍然是 http://localhost/search.php 当我在搜索一个术语后使用mysql时,它看起来像这样 http://localhost/search.php?k=google+search 我要做什么改变才能做到这一点 搜索引擎表格: <form name="frmSearch" method="post" act
http://localhost/search.php
当我在搜索一个术语后使用mysql时,它看起来像这样
http://localhost/search.php?k=google+search
我要做什么改变才能做到这一点
搜索引擎表格:
<form name="frmSearch" method="post" action="../search.php">
<input class="inp" name="var1" type="text" id="var1">
<input class="btn" type="submit" value="Search">
</form>
搜索引擎页面:
<?php
$nameofdb = 'xxxxxx';
$dbusername = 'xxxxxx';
$dbpassword = 'xxxxxx';
// Connect to MySQL via PDO
try {
$dbh = new PDO("mysql:dbname=$nameofdb;host=xxxxxx", $dbusername, $dbpassword);
$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch (PDOException $e) {
echo 'Connection failed: ' . $e->getMessage();
}
$var1 = $_POST['var1'];
$query = "SELECT * FROM pages WHERE title LIKE :search OR keywords LIKE :search";
$stmt = $dbh->prepare($query);
$stmt->bindValue(':search', '%' . $var1 . '%', PDO::PARAM_INT);
$stmt->execute();
/* Fetch all of the remaining rows in the result set
print("Fetch all of the remaining rows in the result set:\n"); */
$result = $stmt->fetchAll();
foreach( $result as $row ) {
/* echo */ $row["title"];
/* echo */ $row["keywords"];
/* echo */ $row["photo"];
/* echo */ $row["link"];
echo "<a href=$row[link]> $row[photo] </a>";
}
if ($stmt->rowCount() > 0) {
$result = $stmt->fetchAll();
foreach( $result as $row ) {
echo $row["id"];
echo $row["title"];
}
} else {
echo 'There is nothing to show';
}
?>
由于您对请求使用POST方法,因此所有表单数据都将添加到HTTP正文中 尝试使用method=GET
这里有一个简短的医生:有时候我会忘记最简单的事情,谢谢!我改变了method=GET我原以为它有效,但现在它显示了我搜索的所有搜索结果?圣诞节快到了,有什么建议吗!更改$var1=$_POST['var1'];to$var1=$_GET['var1'];