hola a todos tengo un pequeño pero a la vez gran problema, veréis tengo mi pagina funcionando en modo local y todo iba bien hasta que la monte en un servidor ahí me di cuenta de que tal como tengo mi forma de iniciar y mantener sesión esta mal, y no se con mis conocimientos como puedo solucionarlo haber si alguien me aporta alguna idea, tengo el siguiente código:
lo mitico, un formulario en el q el usuario introduce su nombre de usuario y contraseña y lo envio a otra pagina en la q hago la validación, para este propósito use jquery para enviar datos de forma asíncrona tal que así:
Código Javascript
:
Ver original$("#login_form").submit(function(event){
event.preventDefault();
$.ajax({
type: "POST",
url: "login.php",
data: $("#login_form").serialize(),
dataType: 'json',
success: function(data){
if(data===false){
alert("datos incorrectos");
}else{
$("#olvido").css({'display':'none'}); // una vez logueado desaparece "olvidaste tu contrseña"
$("#login").css({'display':'none'});
window.location.href = ".";
}
}
});
});
</script>
y el codigo de login es este:
Código PHP:
Ver original<?php
session_start(); // mantenemos la sesion activa para trabajar siempre con el usuario registrado //$_SESSION['usu']; // guardamos la sesion del usuario
include("conectarse.php");
//cargamos en usuario y password el nombre de usuario y contraseña recogidos en el formulario de logeo
$usuario = $_POST['username'];
$password = $_POST['userpass'];
//echo($usuario);
//echo($password);
$query = "SELECT pass FROM miembros WHERE usu ='".$usuario."'";
$link=Conectarse();
//echo $row["pass"];
if($fila["pass"] == $password){
$_SESSION['actual'] = $usuario;
$salida = true;
}
else{
$salida = false;
}
}
else{
$salida = false;
}
?>
tal como lo tengo hasta ahora lo q hacia es en cada pagina php nueva ponía un session_start() y comprobaba kien era el usuario registrado en cada momento de esta manera:
Código PHP:
Ver original<?php
$usuarioactual = $_SESSION['actual'];
?>
y luego ya a partir de aquí lo q hacia es comprobar el valor de usuario actual, si se corresponde al admin pues muestra una serie de funciones sino no:
ahora mi pregunta es, session_start solo debería de ponerla en el index.php y luego en login comprobar si un usuario esta en el sistema, una vez se logra, utilizar session_id pero no se como puedo enviarle devuelta los dígitos que genera session id para cada usuario y que se mantenga en las diferentes paginas
alguien puede decirme si estoy en lo cierto o si se hace de otra manera?
gracias