我在header.php
(每页的标题)中有一个搜索表单。
提交表单后,我想将用户重定向到页面:site.com/search-$VALUE-100
。
我试过了:
$value = $_POST['value'];
if(isset($_POST['search']))
{
if(preg_match('/^[a-zA-Z0-9]$/', $value))
{
header("Location: search-".$value."-100");
}
}
和HTML:
<form method="get">
<input type="text" name="value" value="search" onfocus="if (this.value==this.defaultValue) this.value = ''" onblur="if (this.value=='') this.value = this.defaultValue" />
<input type="submit" name="search" class="image" value="" />
</form>
现在代码发送到:
page.php?value=a&search=
index.php?value=a&search=
user.php?value=a&search=
somepage.php?value=a&search=
答案 0 :(得分:2)
您使用GET
方法而不是POST
,因此要访问此值,请使用$_GET
:
$value = $_GET['value'];
if(isset($_GET['search']))
{
if(preg_match('/^[a-zA-Z0-9]$/', $value))
{
header("Location:search-".$value."-100");
}
}
答案 1 :(得分:1)
$value = $_GET['value'];
if(isset($_GET['search'])){
if(preg_match('/^[a-zA-Z0-9]$/', $value)){
header("Location: /search-".$value."-100");
}
}
这应该做到
答案 2 :(得分:0)
首先你需要声明动作a.k.a. php脚本来处理来自任何页面的请求,如果你想在$ _POST中有值,你必须声明方法是POST:
<form action="search.php" method="POST">
比在search.php做你的东西:
$value = $_POST['value'];
if(isset($_POST['search']))
{
if(preg_match('/^[a-zA-Z0-9]$/', $value))
{
header("Location: search-".$value."-100");
}
}
答案 3 :(得分:-1)
header('Location: http://'.$_SERVER['HTTP_HOST'].'/search-'.$value.'-100');