重定向无法在PHP

时间:2017-10-29 08:18:33

标签: php url-redirection

我希望在数据库中插入值后重定向到另一个页面,但它不会重定向。它仍然在同一页面上。没有显示错误/警告。

我的代码:

<?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");
}

1 个答案:

答案 0 :(得分:1)

你的问题可能在于:

return $istmt;

$locationei = "result.php";
$locatione = $web.$locationei;
$user->redirect($locatione);

一旦你返回一个值,函数就会停止执行并跳过剩下的代码......

此外,您应该在重定向后始终退出(),因为重定向不会停止脚本执行,并且过去一直是问题的根源。

public function redirect($url)
{
   header("Location: $url");
   exit();
}