我正在学习PHP并在制作搜索引擎的过程中。以下代码不会在搜索字段中回显结果页面上的用户输入。
搜索页面:
<!DOCTYPE html>
<html>
<head>
<title>Search Engine</title>
<style type="text/css">
body {
background:#F0FFFF;
margin:-80px;
}
form {
margin:25%;
}
</style>
</head>
<body>
<form action="result.php" method="post">
<input type="text" name="user_query" size="80" placeholder="Enter Search Here" />
<input type="submit" name="search" value="Search Now" />
</body>
</html>
结果页面:
<!DOCTYPE html>
<html>
<head>
<title>Results</title>
<style type="text/css">
.results {
margin:5%;
}
</style>
</head>
<body bgcolor="#F0FFFF">
<form action="result.php" method="get">
<span><b>Enter Query Here:</b></span>
<input type="text" name="user_keyword" size="80" />
<input type="submit" name="result" value="Search Now" />
</form>
<?php
if(isset($_GET['search'])) {
$get_value = $_GET['user_query'];
echo "<div class='results'>
$get_value;
</div>";
}
?>
</body>
</html>
有人可以告诉我为什么在搜索运行时没有回应用户的输入吗?
答案 0 :(得分:1)
如果您使用method = post 在表单标记中,您必须以$ _POST的形式接收数据 方法= get use $ _GET
将结果页面中的这一行编辑为此
<?php
if(isset($_POST['search'])){
$get_value = $_POST['user_query'];
echo "<div class='results'>{$get_value}</div>";
}
?>
答案 1 :(得分:0)
问题在于你的表单标签你应该使用method =“get”如果你想从数据库中获取一些数据,如果你使用method =“post”你应该使用$ _POST ['search' ]所以你的表格标签shuld必须像这样
<form action="result.php" method="get">
如果你打算使用method =“post”,那么你的$ _GET ['search']应该是$ _POST ['search'] 但我建议你使用method =“get”来搜索数据库中的查询