PHP - php no me redirige con header ni con echo AYUDA!

 
Vista:

php no me redirige con header ni con echo AYUDA!

Publicado por antonio (3 intervenciones) el 16/07/2014 17:19:35
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
<?php
$conn = mysql_connect("localhost","usuario","contraseña");
 
mysql_select_db("appder75_demo",$conn);
mysql_query("SET NAMES 'utf8'");
 
if (isset($_COOKIE["id_usuario_dw"]) && isset($_COOKIE["marca_aleatoria_usuario_dw"])){
 
   if ($_COOKIE["id_usuario_dw"]!="" || $_COOKIE["marca_aleatoria_usuario_dw"]!=""){
 
      $ssql = "select * from usuario where id_usuario=" . $_COOKIE["id_usuario_dw"] . " and cookie='" . $_COOKIE["marca_aleatoria_usuario_dw"] . "' and cookie<>''";
      $rs = mysql_query($ssql);
      if (mysql_num_rows($rs)==1){
         echo "<b>Tengo un usuario correcto en una cookie</b>";
         $usuario_encontrado = mysql_fetch_object($rs);
         echo "<br>Eres el usuario numero " . $usuario_encontrado->id_usuario . ", de nombre " . $usuario_encontrado->usuario;
 
      }
   }
}
 
if ($_POST){
 
 
 
   $ssql = "select * from usuario where usuario = '" . $_POST["usuario"] . "' and clave='" . $_POST["clave"] . "'";
   //echo $ssql;
   $rs = mysql_query($ssql);
   if (mysql_num_rows($rs)==1){
 
 
 
      $usuario_encontrado = mysql_fetch_object($rs);
 
      if ($_POST["guardar_clave"]=="1"){
 
         mt_srand (time());
 
         $numero_aleatorio = mt_rand(1000000,999999999);
 
         $ssql = "update usuario set cookie='$numero_aleatorio' where id_usuario=" . $usuario_encontrado->id_usuario;
         mysql_query($ssql);
 
         setcookie("id_usuario_dw", $usuario_encontrado->id_usuario , time()+(60*60*24*365));
         setcookie("marca_aleatoria_usuario_dw", $numero_aleatorio, time()+(60*60*24*365));
 
      echo "Autenticado correctamente";
 
      echo "<script language='javascript'>window.location='bienvenido.php'</script>";
 
 
     }
   }
   else{
      echo "Fallo de autenticación!";
      echo "<p><a href='index.php'>Volver</a>";
   }
 
}
?>

No me funciona a la hora de redirigir u.u necesito ayuda porfi
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Edinson

php no me redirige con header ni con echo AYUDA!

Publicado por Edinson (3 intervenciones) el 16/07/2014 21:58:16
Usa mejor:

location.href="bienvenido.php";
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

php no me redirige con header ni con echo AYUDA!

Publicado por antonio (3 intervenciones) el 16/07/2014 22:58:52
No funciona u.u no se que sucede pero no jala podrias verificar mi codigo o algo mas que haya echo mal o asi ?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

php no me redirige con header ni con echo AYUDA!

Publicado por Idir (2 intervenciones) el 16/07/2014 23:24:28
Has probado a usar header("Location: url");

Sería la manera correcta de hacer una redirección con php, mas que realizar el echo de un codigo js.

De todos modos te recomiendo usar el try-catch en todas las consultas que hagas o, en caso de mysql, usar ordie para verificar que no hay errores a la hora de hacer las consultas.

Luego otro consejo que te daría sería "debugar" para poder ver si realmente accede a la parte de la sentencia if-else para ver si entra en algún momento en el apartado donde debería hacerte la redirección.

Un saludo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

php no me redirige con header ni con echo AYUDA!

Publicado por antonio (3 intervenciones) el 16/07/2014 23:32:18
El proceso si lo realliza pero no el redireccionamiento ya que a la hora de refrescar si me aparece que el usuario esta logueado y me cambia la cokie en la base de datos no entiendo lo de debugear eso como es ?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

php no me redirige con header ni con echo AYUDA!

Publicado por Idir (2 intervenciones) el 16/07/2014 23:33:53
Realmente, debugar es mirar paso a paso que hace tu código, tu IDE supongo que tendrá alguna herramienta para realizarlo, de todos modos yo uso "echo" para ver que va haciendo mi código.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

php no me redirige con header ni con echo AYUDA!

Publicado por Roberto F. (1 intervención) el 17/07/2014 09:23:20
Hola...
Al margen del sistema que uses para redirigir a otra página, piensa que si te funcionara bien no llegarías a ver el texto de autentificado correctamente.

Podrías cambiar y en vez de usar esto:

echo "Autenticado correctamente";
echo "<script language='javascript'>window.location='bienvenido.php'</script>";

poner algo así.

echo "<p>Autenticado correctamente</p>";
echo "<p><a href='bienvenido.php'>Continuar</a></p>";


Un saludo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Ukadev

php no me redirige con header ni con echo AYUDA!

Publicado por Ukadev (6 intervenciones) el 25/07/2014 15:04:32
Pon esta función en tu código y llámala cuando te haga falta:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
function redirect($filename = "/")
	{
		if (!headers_sent())
		{
			header('Location: '.$filename);
		}
		else
		{
			echo '<script type="text/javascript">';
			echo 'window.location.href="'.$filename.'";';
			echo '</script>';
			echo '<noscript>';
			echo '<meta http-equiv="refresh" content="0;url='.$filename.'" />';
			echo '</noscript>';
		}
	}


Para llamarla, simplemente debes pasarle la url/path a donde quieras redireccionar. Por ejemplo, si quieres ir a la ruta /ruta_final tendrás que poner:

1
redirect("/ruta_final");

Y listo. La function ya se encarga de intentar redireccionar mediante la forma necesaria, ya sea php, js o vía meta tag.

Nota: Si no le pones ningún parámetro, va a redirigir a la raiz de tu web
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar