Foros del Web » Programando para Internet » PHP »

Problema con redirecciones en php

Estas en el tema de Problema con redirecciones en php en el foro de PHP en Foros del Web. Hola buenas estoy haciendo unas cosillas en php y no consigo que tras hacer algo me redireccione a donde le digo. Aqui le digo que ...
  #1 (permalink)  
Antiguo 05/06/2010, 02:54
 
Fecha de Ingreso: enero-2008
Mensajes: 49
Antigüedad: 16 años, 3 meses
Puntos: 0
Problema con redirecciones en php

Hola buenas estoy haciendo unas cosillas en php y no consigo que tras hacer algo me redireccione a donde le digo. Aqui le digo que me rediriga a unos archivos que tengo en el mismo directorio, y no hace nada... también he probado a poner una direccion como google.com y sigue tampoco sin redirigirme ,¿qué puede estar pasando?
Código PHP:
<?php
session_start
();
include_once(
"socio.php");
    
$dni $_POST["DNI"];
    
$_SESSION["iddni"] = $dni;
    print(
"<p>El dni es:".$_SESSION["iddni"]."</p>");
    
$password $_POST["passwd"];
    print(
"<p>El pass es:".$password."</p>");
    
$conexion mysql_connect("localhost","root","root") or die ("Error al conectar con el servidor");
    
$soc = new Socio;
    
$existe $soc->ComprobarSocio($dni$conexion);
    if(
$existe == 1){//login correcto
        
$soc->ConectarSocio($dni,$conexion);
        
$correcto $soc->VerificarPass($password,$conexion);
        if(
$correcto == 1){//pass correcto
            
echo "<script language='JavaScript'>
                        alert('Contrasenia correcta. Redireccionando.');
                        </script>"
;
                 
header("Refresh: 1; URL=usuario.php");
        }
        else{
//pass erroneo
            
echo "<script language='JavaScript'>
                     alert('contrasenia erronea. Redireccionando');
                     </script>"
;
                 
header("Refresh: 1; URL=index.html");
        }
    }
    else{
//no existe usuario
        
echo "<script language='JavaScript'>
                       alert('Fallo en el login, intentelo de nuevo.');
                       </script>"
;
             
header("Refresh: 1; URL=index.html");
    }

?>
  #2 (permalink)  
Antiguo 05/06/2010, 03:29
 
Fecha de Ingreso: octubre-2005
Mensajes: 240
Antigüedad: 18 años, 7 meses
Puntos: 1
Respuesta: Problema con redirecciones en php

Es que al parecer estás tratando de usar header cuando ya has printado texto (da igual que sea javascript).

Como bien dice el manual de PHP:

Remember that header() must be called before any actual output is sent, eso quiere decir que no puedes usar echo antes de usar la función header().

Lo que podrías hacer es cambiar:

Código PHP:
header("Refresh: 1; URL=usuario.php"); 
Por:

Código Javascript:
Ver original
  1. <script>window.location='URL';</script>

Espero te sirva,

Un saludo!
  #3 (permalink)  
Antiguo 05/06/2010, 05:29
 
Fecha de Ingreso: enero-2008
Mensajes: 49
Antigüedad: 16 años, 3 meses
Puntos: 0
Respuesta: Problema con redirecciones en php

Tio lo he dejado así y sigue sin redireccionarme

Código PHP:
<?php
session_start
();
include_once(
"socio.php");
    
$dni $_POST["DNI"];
    
$_SESSION["iddni"] = $dni;
    print(
"<p>El dni es:".$_SESSION["iddni"]."</p>");
    
$password $_POST["passwd"];
    print(
"<p>El pass es:".$password."</p>");
    
$conexion mysql_connect("localhost","root","root") or die ("Error al conectar con el servidor");
    
$soc = new Socio;
    
$existe $soc->ComprobarSocio($dni$conexion);
    if(
$existe == 1){//login correcto
        
$soc->ConectarSocio($dni,$conexion);
        
$correcto $soc->VerificarPass($password,$conexion);
        if(
$correcto == 1){//pass correcto

            
echo "<script>window.location='www.google.com';</script>";
            
//header("Refresh: 1; URL=alquiler.php");
            //header("Refresh: 1; URL=usuario.php");
            //echo "<script language='JavaScript'> alert('Contrasenia correcta. Redireccionando.'); </script>";
                 
        
}
        else{
//pass erroneo
            
echo "<script language='JavaScript'>
                     alert('contrasenia erronea. Redireccionando');
                     </script>"
;
                 
header("Refresh: 1; URL=index.html");
                 
        }
    }
    else{
//no existe usuario
        
echo "<script language='JavaScript'>
                       alert('Fallo en el login, intentelo de nuevo.');
                       </script>"
;
             
header("Refresh: 1; URL=index.html");
    }

?>
  #4 (permalink)  
Antiguo 05/06/2010, 06:02
 
Fecha de Ingreso: octubre-2005
Mensajes: 240
Antigüedad: 18 años, 7 meses
Puntos: 1
Respuesta: Problema con redirecciones en php

Asegúrate de que entra dentro de la condición, usa:

Código PHP:
Ver original
  1. if($correcto == 1){//pass correcto
  2. echo "PASS CORRECTO";
  3.             //echo "<script>window.location='www.google.com';</script>";

De paso explicame cual es el error o que ocurre cuando ejecutas el script.

Etiquetas: redireccionar
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 07:11.