使用php脚本输入数据库中的信息后尝试重定向

时间:2014-07-01 23:32:15

标签: php

我正在尝试重定向我的插入脚本,当它完成后返回到同一页面,以便可以添加下一个输入。

以下是我现在可以使用但不重定向的内容:

<?php

$item = $_POST['item'];
$description = $_POST['description'];
$price = $_POST['price'];
$category = $_POST['category'];

if (!isset($_POST['submit'])){
    try {
        $db = new PDO("mysql:host=localhost;dbname=peppermill;port:8889;","root","root");
        $db->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);
        $db->exec("SET NAMES 'utf8'");
    }Catch(Exception $e){
        echo "Could not connect to the database!";
        echo 'ERROR: ' . $e->getMessage();
        exit;
    }

    try {
        $stmt = $db->prepare("INSERT INTO peppermill.Menu(item,description,price,category) VALUES('$item','$description','$price','$category')");
        $stmt->execute();              
        //echo "Data has been entered!  -".$affected_rows = $stmt->rowCount();
    } Catch(Exception $e){
        echo 'ERROR: ' . $e->getMessage();
    }
} Else{
    echo "Did not work!!";
}

$db = null;

header("Location: ../insert_menu_items.php");
?>

2 个答案:

答案 0 :(得分:3)

来自http://www.php.net/manual/en/function.header.php

“HTTP / 1.1需要绝对URI作为参数来说明»位置:包括方案,主机名和绝对路径,但有些客户端接受相对URI。你通常可以使用$ _SERVER ['HTTP_HOST'],$ _SERVER ['PHP_SELF ']和dirname()自己创建一个相对的URI。“

答案 1 :(得分:0)

在header()函数中使用它时,需要将绝对URI作为参数放置到Location。 (http://www.php.net/manual/en/function.header.php

另外,如果由于某种原因你的脚本遇到了更多的外部ELSE子句,则会发送一个警告,因为你在发送数据到输出后会尝试发送一个头。在尝试发送标题之前,无法发送任何数据。