PHP - Headers dentro de ifs (sesion)

   
Vista:

Headers dentro de ifs (sesion)

Publicado por Marco (21 intervenciones) el 19/08/2013 16:35:42
que tal gente, ando trabajando en un login, lo que deseo es manejar 2 perfiles, un administrador y un operador mi codigo no me marca ningun error, solo que siempre me direcciona a la primera pagina no se en que parte este haciendo algo mal este es mi codigo:

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
if (!$fila[0])
{
	echo '<script language = javascript>
	alert("Usuario o Password erroneos, por favor verifique.")
	self.location = "index.php"
	</script>';
}
else
{
	$_SESSION['id'] = $fila['idusuario'];
	$_SESSION['nombre'] = $fila['Nombre'];
	$_SESSION['apellido'] = $fila['Apaterno'];
	$_SESSION['nusuario'] = $fila['nick'];
	$_SESSION['rol'] = $fila['perfil'];
	$Perfil=$fila['perfil'];
 
 
	if ($Perfil='operador'){
header("Location: pagina_usuario.php");
 
}
else{
header("Location: inicio.php");
}
}
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

Headers dentro de ifs (sesion)

Publicado por Marco (21 intervenciones) el 19/08/2013 16:56:15
Lo e solucionado con switch por si les interesa les dejo la parte que cambie:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
$_SESSION['id'] = $fila['idusuario'];
	$_SESSION['nombre'] = $fila['Nombre'];
	$_SESSION['apellido'] = $fila['Apaterno'];
	$_SESSION['nusuario'] = $fila['nick'];
	$_SESSION['rol'] = $fila['perfil'];
	$Perfil=$fila['perfil'];
 
 
switch ($Perfil)
{
case "operador":
 header("Location:pagina_usuario.php");
  break;
case "administrador":
 header("Location:inicio.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
Imágen de perfil de xve

Headers dentro de ifs (sesion)

Publicado por xve (5522 intervenciones) el 19/08/2013 21:51:54
jejejeje.. muy buena solución... si nos encallamos en un punto, mejor darle la vuelta.
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 xve

Headers dentro de ifs (sesion)

Publicado por xve (5522 intervenciones) el 19/08/2013 21:50:47
El condicional lo tenias erroneo... tiene que ser con dos iguales para comparar:
1
if ($Perfil=='operador'){
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

Headers dentro de ifs (sesion)

Publicado por Marco (21 intervenciones) el 19/08/2013 22:45:55
si lo intente así pero lo único que hacia era tomar siempre el primer if no pasaba al segundo lo raro es que cuando únicamente imprimía un mensaje si lo hacia correctamente, pero con los headers no lo hacia
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 terra

Headers dentro de ifs (sesion)

Publicado por terra (62 intervenciones) el 19/08/2013 23:48:12
Marco,
a tu texto...
1
cuando únicamente imprimía un mensaje si lo hacia correctamente, pero con los headers no lo hacia


Recuerda que:
Los HEADER, sólo funcionan UNICAMENTE si no envias texto al usuario, como por ejemplo:
1
2
echo "hola mundo"; // si aparecerá
header("Location:abc.php"); // no funcionara.., dará error.


texto smiliar al error:
1
hola mundo PHP Warning: Cannot modify header information - headers already sent by (output started at



Saludosssss
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