2015-07-13 2 views
0

У меня есть controllerLoginUsu.php:Как перенаправить без заголовка в 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 мне нужно перенаправить, но с заголовком не работают. какое-то другое решение для этого случая?

Извините, мой английский.

+0

Вы должны послать заголовок перед возвращением. И заголовок должен быть 'header (" Location: http: // .... ")' – frz3993

+0

Возможно, для вас может быть JavaScript на стороне клиента: location = "http: // localhost: 8080/formulario_web/formulario/formulario_lazos .php "; – RhinoDevel

ответ

1

Если вы хотите перенаправить без заголовка, попробуйте следующее:

echo "<script>"; 
echo "location.replace('classes.php?add=sucess')"; 
echo "</script>"; 
+0

На самом деле это очень неприятный способ сделать то же самое, что и 'header()' по мере того, как вся страница будет построена -> отправлена ​​в браузер ->, тогда DOM будет создан браузером -> И ТО, ЧТО ВСЕ ЕЩЕ ДРОБИЛЬНЫЙ ПУТЬ , ** очень расточительный ** – RiggsFolly

1

Вы забыли Местоположение.

попробовать:

header("Location: http://localhost:8080/formulario_web/formulario/formulario_lazos.php"); 
1

Вы никогда не достигнете вызова заголовка():

return $msj; // terminate function IMMEDIATELY 
header("http://localhost:8080/formulario_web/formulario/formulario_lazos.php"); // never reached 

return должен прийти ПОСЛЕheader().

0

Ответ на самом деле смесь 2 ниже

Если выдача header() вы не хотите return что-нибудь, как вы заставляете загрузку новой формы. return, конечно, прекратит выполнение этого метода, и в вашем случае заголовок не будет даже выполнен.

Также вы забыли добавить location: часть инструкции header().

Так

if ($msj === 'si') { 
    $_SESSION['msj'] = "si"; 
    header("Location: http://localhost:8080/formulario_web/formulario/formulario_lazos.php"); 
    exit; 
    } 
Смежные вопросы