Mysql插入后的PHP重定向

时间:2011-01-11 23:04:15

标签: php mysql

下面是我的mySQL插页:

$sql="INSERT INTO gj (name, phone, city, zipcode, description, dateadded, website, address1, other2, payment_options, Products, email,cat1,cat2,cat3)
    VALUES
    ('$companyname','$phone','$city','$zipcode','$description',curdate(),'$website','$address','$other','$payment','$products','$email','$select1','$select2','$select3')";

    if (!mysql_query($sql,$link))
      {
      die('Error: ' . mysql_error());
      }
    echo "<br/><h2><font color='green' style='font-size:15px;float:right'>1 business added</font></h2>";

    mysql_close($link);
}

    ?>

现在,我不想以绿色显示“1 business added”,而是想重定向回到之前的页面。感谢。

3 个答案:

答案 0 :(得分:4)

如果您的脚本总是打算在之后转到同一个地方,那么您可以对该位置进行硬编码。例如:

header("Location: http://www.example.com/");

请注意,根据RFC 2616(HTTP / 1.1规范),Location标头的值必须是绝对URI,而不仅仅是路径。

如果您的脚本是出于特定目的并且始终重定向到某个部分,但可能会更改显示哪些特定记录,那么您可以将发布到脚本的数据合并到URL中。例如:

header("Location: http://www.example.com/widgets/" . urlencode($_POST['id']));

如果您的脚本以多种不同的方式使用,那么您可以传递URL以从隐藏表单字段中发布到其中的页面重定向到,例如:

<input type="hidden" name="redirect-url" value="http://www.example.com/">

更一般地说,您应该遵循Post/Redirect/Get pattern

答案 1 :(得分:2)

添加:

header("Location: page_you_want.php");
在您的查询完成之后但在回显之前

。如果尚未发送包含HTML等标题,您只能使用上述代码。

答案 2 :(得分:0)

我愿意:

header('Location: ' . $_SERVER['HTTP_REFERER']);

mysql_close($link);