Php结果页面显示在同一页面上

时间:2014-02-12 04:09:18

标签: php html mysql wordpress search

这是我对搜索表单的编码:

<html>
<head>
<title>Search</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link rel="stylesheet" type="text/css" href="style.css"/>
</head>
<body>
    <form action="https://excelforth.com/search1.php" method="GET">
        <input type="text" name="query" />
        <input type="submit" value="Search" />
    </form>
</body>
</html>

问题是,当我在我的网页上提交此表单时,它会转到php Results页面并显示结果。但问题是它只是一个只显示结果的普通页面。

我的搜索页面:

www.mysite/test/certification-database-search/

Php文件位于我的webroot文件夹中。我被告知,对于wordpress,个别子页面无法编辑。

我如何:

1.在与搜索页面相同的页面上显示结果。不是一个全新的页面。

2.恢复页面的页面布局和主题/页眉/页脚

3.如果可以在/ certification-database-search /中运行.php文件,并从那里查询。而不是使用我的webroot文件夹中的那个。

谢谢!

1 个答案:

答案 0 :(得分:3)

将您的表单和PHP放在一个页面中,PHP放在下面的HTML上,然后使用action=""

将输入中的变量用作$var=$_GET['var'];,然后使用echo $var;

旁注:如果您想停止某个流程,可以使用die();exit();

你可以在里面留言;即:die("Enter a search term");

一个基本示例:

<?php
if(isset($_GET['submit'])){
$query=$_GET['query'];
echo $query;
}
?>

<html>
<head>
<title>Search</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link rel="stylesheet" type="text/css" href="style.css"/>
</head>
<body>
    <form action="" method="GET">
        <input type="text" name="query" />
        <input type="submit" name="submit" value="Search" />
    </form>
</body>
</html>

替代,如果字段为空则显示错误消息:

<?php
if(isset($_GET['submit'])){
  if(empty($_GET['query'])){
echo "Enter a search term";
  }

$query=$_GET['query'];
echo $query;
}
?>

<html>
<head>
<title>Search</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link rel="stylesheet" type="text/css" href="style.css"/>
</head>
<body>
    <form action="" method="GET">
        <input type="text" name="query" />
        <input type="submit" name="submit" value="Search" />
    </form>
</body>
</html>