Redireccion si no estas logueado
Publicado por sam (185 intervenciones) el 03/07/2014 18:05:49
Hola amigos/as, a ver si me pueden hechar una mano.
Tengo un codigo en un "archivo A" que me permite loguearme correctamente y me redirecciona a un archivo "B".
Esto funciona perfetamente. Pero cuando en el archivo "B" le meto un codigo php para que no se pueda acceder a el escribiendo su url directamente en el navegador saltandose el logueo previo.
Pues hace una cosa rara y es que si le coloco este codigo como digo en el archivo "B".
Entonces el archivo "A" (que es donde se tiene que loguear uno), ya no me manda al archivo "B" sino que redirecciona así mismo, osea al archivo "A" y no se porque hace esto.
codigo de archivo "A" llamado "indexe.php" que es donde se loguea uno primero:
codigo de archivo "B" llamado "indexe_log.php" que es al que deberia redireccionar una vez logueado:
Dicho de otro modo:
en el momento del if($_SESSION['email'], el email tiene el valor de: [email protected]
que se metio previamente en el input para loguearse.
y como digo funciona perfectamente, se loguea bien. y manda a indexe_log perfectamente .
ahora va perfectamente si en el indexe_log no pongo el codigo:
pero claro este codigo que hace que cuando me logueo en vez de redireccionarme de indexe.php a indexe_log.php me redirecciona de indexe.php al mismo indexe.php
y como digo si dejo el codigo de la discordia en indexe_log si intento entrar en indexe_log.php sin loguearme funciona bien y no me deja entrar redirecionandome a indexe.php eso si lo hace bien.
Gracias de antemano.
Tengo un codigo en un "archivo A" que me permite loguearme correctamente y me redirecciona a un archivo "B".
Esto funciona perfetamente. Pero cuando en el archivo "B" le meto un codigo php para que no se pueda acceder a el escribiendo su url directamente en el navegador saltandose el logueo previo.
Pues hace una cosa rara y es que si le coloco este codigo como digo en el archivo "B".
Entonces el archivo "A" (que es donde se tiene que loguear uno), ya no me manda al archivo "B" sino que redirecciona así mismo, osea al archivo "A" y no se porque hace esto.
codigo de archivo "A" llamado "indexe.php" que es donde se loguea uno primero:
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
61
62
63
64
65
66
67
<?php
@session_start();
if( isset($_GET['error_sesion']) )
{
switch ($_GET['error_sesion'])
{
case 1:
echo "<font color='red'><b>Contraseña introducida incorrecta</b></font>
<p><a href='../lib/login.php?esesion=1'>Inténtelo de nuevo</a></p>";
break;
case 2:
echo "<font color='red'><b>Correo electrónico introducido incorrecto</b></font>
<p><a href='../lib/login.php?esesion=1'>Inténtelo de nuevo</a></p>";
break;
case 3:
echo "<font color='red'><b>Rellene los campos correctamente</b></font>
<p><a href='../lib/login.php?esesion=1'>Inténtelo de nuevo</a></p>";
break;
case 4:
echo "<font color='red'><b>Error al conectarse a la base de datos</b></font>
<p><a href='../lib/login.php?esesion=1'>Inténtelo de nuevo</a></p>";
break;
case 5:
echo "<font color='red'><b>Error al seleccionar la base de datos</b></font>
<p><a href='../lib/login.php?esesion=1'>Inténtelo de nuevo</a></p>";
break;
}
}
else
{
if (isset($_SESSION['username']))
{
echo '<br/>';
echo 'Hola del indexe, '.'<b>'.$_SESSION['username'].'</b>.';
echo '<div class="btn_cerrar_sesion">
<a href="../lib/login.php?esesion=1"><img src="../imgss/btn_cerrar_sesion.png" width="120" height="27" alt="boton_cerrar_sesion" /></a>
</div>';
}
else
{
echo '<form method="POST" id="form-login" action="../lib/login.php">
<div class="titular_email">Correo electrónico</div>
<input type="text" name="email" id="input_email" tabindex="1" />
<div class="titular_password">Contraseña</div>
<input type="password" name="password" id="input_password" tabindex="2" />
<!--<div class="enlace_olvide_clave"><a href="">La olvidé</a></div>-->
<div class="btn_login"><input type=image src="../imgs/btn_login.png" id="btn_inicio" class="buttons" value="Entrar"></input></div>
</form>';
}
}
?>
codigo de archivo "B" llamado "indexe_log.php" que es al que deberia redireccionar una vez logueado:
1
2
3
4
5
<?php if(!$_SESSION['email'] == "admin@admin.com") {
header('location: indexe.php');
} ?>
<?php echo 'Hola mundo !!!!!'; ?>
Dicho de otro modo:
en el momento del if($_SESSION['email'], el email tiene el valor de: [email protected]
que se metio previamente en el input para loguearse.
y como digo funciona perfectamente, se loguea bien. y manda a indexe_log perfectamente .
ahora va perfectamente si en el indexe_log no pongo el codigo:
1
2
3
4
5
6
7
8
9
<?php
@session_start();
if($_SESSION['email'] != "admin@admin.com") {
header('location: indexe.php');
}
?>
pero claro este codigo que hace que cuando me logueo en vez de redireccionarme de indexe.php a indexe_log.php me redirecciona de indexe.php al mismo indexe.php
y como digo si dejo el codigo de la discordia en indexe_log si intento entrar en indexe_log.php sin loguearme funciona bien y no me deja entrar redirecionandome a indexe.php eso si lo hace bien.
Gracias de antemano.
Valora esta pregunta


0