Foros del Web » Programando para Internet » PHP »

Problemas con sesiones

Estas en el tema de Problemas con sesiones en el foro de PHP en Foros del Web. Hola amigos, tengo un roblema con una sesion, resulta que funciona correctamente pero ahora que creo otro usuario para que inicie sesion con sus datos ...
  #1 (permalink)  
Antiguo 07/07/2020, 10:03
 
Fecha de Ingreso: octubre-2008
Ubicación: Colombia
Mensajes: 442
Antigüedad: 12 años
Puntos: 2
Problemas con sesiones

Hola amigos, tengo un roblema con una sesion, resulta que funciona correctamente pero ahora que creo otro usuario para que inicie sesion con sus datos cargan los datos del primer usuario registrado, es decir que solo el del id=1

No se que será. Les dejo mis archivos de sesion:

Este es mi archivo login.php

Código PHP:
<?php
session_start
(); // Iniciando sesion
$error=''// Variable para almacenar el mensaje de error
if (isset($_POST['submit'])) {
if (empty(
$_POST['username']) || empty($_POST['password'])) {
$error "Username or Password is invalid";
}
else
{
// Define $username y $password
$username=$_POST['username'];
$password=$_POST['password'];
// Estableciendo la conexion a la base de datos
include("config/db.php");//Contienen las variables, el servidor, usuario, contraseña y nombre  de la base de datos
include("config/db_conecc.php");//Contiene de conexion a la base de datos

// Para proteger de Inyecciones SQL
$username    mysqli_real_escape_string($con,(strip_tags($username,ENT_QUOTES)));
$password =  sha1($password);//Algoritmo de encriptacion de la contraseña http://php.net/manual/es/function.sha1.php

$sql "SELECT email, password FROM login WHERE email = '" $username "' and password='".$password."';";
$query=mysqli_query($con,$sql);
$counter=mysqli_num_rows($query);
if (
$counter==1){
        
$_SESSION['login_user_sys']=$username;
        
$_SESSION['login_id']=$id;
        
$_SESSION['login_nombres']=$nombres;
        
$_SESSION['login_imagen']=$perfil_img;
        
$_SESSION['login_tipo']=$tipo_user// Iniciando la sesion
        
header("location: index.php"); // Redireccionando a la pagina profile.php


} else {
$error "El correo electrónico o la contraseña es inválida.";
}
}
}
?>
Y este es mi archivo session.php

Código PHP:
<?php
// Estableciendo la conexion a la base de datos
include("config/db.php");//Contienen las variables, el servidor, usuario, contraseña y nombre  de la base de datos
include("config/db_conecc.php");//Contiene de conexion a la base de datos

session_start();// Iniciando Sesion
// Guardando la sesion
//$user_check=$_SESSION['login_user_sys'];
// SQL Query para completar la informacion del usuario
$ses_sql=mysqli_query($con"select * from login");
$row mysqli_fetch_assoc($ses_sql);
$login_session =$row['email'];
$login_nombres $row['nombres']; //sustituir por el nombre en la base de datos
$login_imagen $row['perfil_img'];
$login_id $row['id'];
if(!isset(
$login_session)){


mysqli_close($con); // Cerrando la conexion
header('Location: index.php'); // Redirecciona a la pagina de inicio
}
?>
Algo mas que le he notado y es que cierro el navegador pero la sesion nunca se cierra, cosa que no me ocurria antes con la version php 5.6 que utilizaba, ahora me estoy actualizando y he tenido varios inconvenientes
__________________
Desarrollo de Aplicaciones de Escritorio, Sitios Web, Audio y Video en SISGUS
  #2 (permalink)  
Antiguo 09/07/2020, 05:55
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 15 años, 6 meses
Puntos: 839
Respuesta: Problemas con sesiones

En el primer archivo en ningún momento se asigna el valor de $id, $nombres, $perfil_img y $tipo_user.

En cuanto al archivo session.php, no estás recuperando los valores de $_SESSION sino solo del primer registro de la table login (ya que tu consulta SQL no realiza ningún filtro).

Lo de la duración de la sesión, revisa la directiva session.cookie_lifetime en el archivo de configuración (Ver https://www.php.net/manual/en/sessio...ookie-lifetime)

Saludos.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.



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