我正在尝试重定向我的插入脚本,当它完成后返回到同一页面,以便可以添加下一个输入。
以下是我现在可以使用但不重定向的内容:
<?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");
?>
答案 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子句,则会发送一个警告,因为你在发送数据到输出后会尝试发送一个头。在尝试发送标题之前,无法发送任何数据。