我希望在数据库中插入值后重定向到另一个页面,但它不会重定向。它仍然在同一页面上。没有显示错误/警告。
我的代码:
<?php
if (isset($_POST['btn-submit'])) {
$asth = $user->runQuery("SELECT MAX(Sr) as Sr FROM answer");
$asth->execute();
$aresult = $asth->fetch(PDO::FETCH_ASSOC);
$atf = ($aresult['Sr']);
$aI = "1";
$acid = $atf + $aI;
$arn = $fddate.$ydate.$mdate.$frandno.$acid;
$count = $i;
for ($j = 1; $j <= $count; $j++) {
$ufname = trim($_POST['radio'.$j]);
$Qrn = trim($_POST['qid'.$j]);
$istmt = $user->runQuery("INSERT INTO answer(ARN,Ans,QRN,SRN) VALUES(:user_arn, :user_crn, :user_qrn, :user_srn)");
$istmt->bindparam(":user_qrn",$Qrn);
$istmt->bindparam(":user_crn",$ufname);
$istmt->bindparam(":user_arn",$arn);
$istmt->bindparam(":user_srn",$srn);
$istmt->execute();
}
return $istmt;
$locationei = "result.php";
$locatione = $web.$locationei;
$user->redirect($locatione);
}
?>
在页面开头:
require_once 'class.user.php';
$user = new USER();
在class.user.php
:
public function redirect($url) {
header("Location: $url");
}
答案 0 :(得分:1)
你的问题可能在于:
return $istmt;
$locationei = "result.php";
$locatione = $web.$locationei;
$user->redirect($locatione);
一旦你返回一个值,函数就会停止执行并跳过剩下的代码......
此外,您应该在重定向后始终退出(),因为重定向不会停止脚本执行,并且过去一直是问题的根源。
public function redirect($url)
{
header("Location: $url");
exit();
}