我有一个网页,它将从另一个页面使用POST方法获取数据,然后将数据存储到数据库中。完成后,我希望它返回到数据来源的页面。我用了header()。但它没有用。 这是我的代码:
<?php
$date = $_POST['date'];
$spent = $_POST['spent'];
$description = $_POST['description'];
$dbc = mysqli_connect('oniddb.cws.oregonstate.edu', 'chentao-db', 'BUU3UuwwGfwt7hxV', 'chentao-db')
or die(mysql_error());
$query = "SELECT Total FROM Expense E ORDER BY E.Index DESC LIMIT 1";
//get the total
$result = mysqli_query($dbc, $query) or die(mysql_error());
$total = mysqli_fetch_array($result, MYSQL_ASSOC);
$total = $total['Total'] + $spent;
$query = "INSERT INTO Expense (Date, Spent, Total, Description) VALUES ('$date', '$spent', '$total', '$description')";
$result = mysqli_query($dbc, $query) or die(mysql_error());
mysql_close($dbc);
header("Location: fetchData.php");
&GT;
它有什么问题?谢谢。
答案 0 :(得分:0)
我想它会像这样工作
header("Location: http://".$_SERVER['HTTP_HOST']."/fetchData.php");
答案 1 :(得分:0)
尝试放置
ob_start();
在您的文件顶部..
或者你可以尝试
header('Location: '.$_SERVER['HTTP_REFRER']);
die;
不要忘记最后放弃。
答案 2 :(得分:-1)
如果您的第一个查询未返回任何结果,则执行将在此行失败:
$total = $total['Total'] + $spent;
检查第一个查询是否有这样的结果:
if(isset($total['Total'])){
$total = $total['Total'] + $spent;
}
else {
$total = $spent;
}