No inicia sesion con $_SESSION["usuario"] Ayuda!!
Publicado por MarvinMorales (21 intervenciones) el 24/10/2017 06:07:25
Buenas, quisera que me ayuden con alguna verificacion de mi codigo PHP, estoy creando un inicio de sesion, pero no me funciona como yo espero que lo haga, los codigos son los siguientes:
1) login.php
2) validar.php
3) edicion.php
4) logout.php
Lo que sucede es que al escribir usuario y contrasena me envia al instante a la pagina login.php, los datos de usuario y contrase;a estan bien, porque sin el codigo de iniciar sesion, si me lleva a edicion.php.
Alguna idea de cual sera el problema?
1) login.php
1
2
3
4
5
6
7
<form id="forma" action="validar.php" method="post">
<div id="espacioLogo"><div>Iniciar sesión</div></div>
<div class="portacajas"><div class="portaIcons"><img src="imagenes/user.png" class="iconsLogos"></div><input type="text" name="usuario" placeholder="Nombre de usuario..." id="user" required ></div>
<div class="portacajas"><div class="portaIcons"><img src="imagenes/Password.png" class="iconsLogos"></div><input type="Password" name="contrasena" placeholder="Password..." id="user" required ></div>
<link href='https://fonts.googleapis.com/css?family=Lato|Roboto:400,900' rel='stylesheet' type='text/css'>
<div id="btnContainer"><input type="submit" name="ENVIAR" id="btn" value="LOGIN"></div>
</form>
2) validar.php
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
<?php
session_start();
//Datos de usuario
$userMain = $_POST["usuario"];
$pass = $_POST["contrasena"];
//Datos para Conexion a base de datos
$host = "localhost";
$user = "kautivai_Marvin";
$pw = "0927410654marvin";
$dataBase1 = "kautivai_Login";
$conexion = mysqli_connect($host, $user, $pw, $dataBase1);
$resultado = mysqli_query($conexion, "SELECT * FROM Registrados WHERE User = '$userMain' and Password = '$pass'");
if(mysqli_num_rows($resultado) > 0){
header("Location:edicion.php");
} else {
echo "<meta charset='utf-8'><script>alert('El usuario o la contraseña estan incorrectos! Intente nuevamente...'); window.history.go(-1);</script>";
}
$_SESSION['usuario'] = $_POST["usuario"];
mysqli_free_result($resultado);
mysqli_close($conexion);
?>
3) edicion.php
1
2
3
4
5
6
7
8
9
10
<?php
session_start();
$variable_user = $_SESSION['usuario'];
if($variable_user == null || $variable_user = ""){
header("Location:login.php");
die();
}
echo "<h1>Bienvenido ".$variable_user."</h1><br><a href='logout.php'>Cerrar Sesion</a>";
?>
4) logout.php
1
2
3
4
5
6
<?php
session_start();
session_unset();
session_destroy();
header("Location:login.php");
?>
Lo que sucede es que al escribir usuario y contrasena me envia al instante a la pagina login.php, los datos de usuario y contrase;a estan bien, porque sin el codigo de iniciar sesion, si me lleva a edicion.php.
Alguna idea de cual sera el problema?
Valora esta pregunta
0