[英]How redirect without header in php?
我有controllerLoginUsu.php
:
<?php
require "dao/daoLoginUsu.php";
class LoginUsuario{
public function setDatos($aInput) {
$obj = json_decode($aInput, true);
$Dao = new daoLoginUsuario();
$Dao->setDataDato($obj);
$msj = $Dao->setDataDato($obj);
session_start();
if ($msj === 'si') {
$_SESSION['msj'] = "si";
return $msj;
header("http://localhost:8080/formulario_web/formulario/formulario_lazos.php");
exit;
}
}
}
?>
在启动会话并返回$ msj之后,我需要重定向,但带有标头不起作用。 一些其他解决方案?
对不起,我的英语。
如果要重定向而没有标题,请尝试以下操作:
echo "<script>";
echo "location.replace('classes.php?add=sucess')";
echo "</script>";
您忘记了位置。
尝试:
header("Location: http://localhost:8080/formulario_web/formulario/formulario_lazos.php");
您永远不会到达header()调用:
return $msj; // terminate function IMMEDIATELY
header("http://localhost:8080/formulario_web/formulario/formulario_lazos.php"); // never reached
return
应该在AFTER header()
。
答案实际上是以下两种方法的混合
如果要发布header()
那么您将不希望return
任何内容,因为您将强制加载新表单。 当然, return
将停止执行此方法,并且在您的情况下,标头甚至都不会执行。
您也忘记添加location:
header()
语句的一部分。
所以
if ($msj === 'si') {
$_SESSION['msj'] = "si";
header("Location: http://localhost:8080/formulario_web/formulario/formulario_lazos.php");
exit;
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.