Ver Mensaje Individual
  #1 (permalink)  
Antiguo 26/03/2012, 10:53
Avatar de Adrii952
Adrii952
 
Fecha de Ingreso: diciembre-2011
Ubicación: Madrid
Mensajes: 116
Antigüedad: 12 años, 4 meses
Puntos: 7
Session en PHP

Hola a todos, estoy continuando un proyecto que abandoné en diciembre y estoy algo confuso con mi propio código.
Se trata de una especie de red social que estoy desarrollando desde 0 con PHP y MySQL. De momento sólo la base, en verano ya aprenderé Java y más de diseño para que quede bonito.
El PHP para registrarse y validar funcionan perfectamente pero tengo un problema con el login.php. Funcionar funciona, pero no consigo que funcione el session. Creo que ni entiendo el concepto de session así que si alguien me lo puede explicar se lo agradecería.

Este es mi login.php:
Código PHP:
<?php
session_start
();
if (isset(
$SESSION)) {
    
header("location:inicio.php");
} else {
    
header("Content-type: text/html; charset=utf-8");
include(
"data.php");
echo 
'<TITLE>Login en proyecto</TITLE><center><big style="font-weight: bold; font-family: Verdana;"><big>Login en proyecto</big></big><br></center><fieldset><legend>Información</legend><center>';

$usuario             trim(strtolower($_POST['usuario']));
$contraseña         sha1(md5(trim($_POST['password'])));
$fecha                 time();
$ipusuario             $_SERVER['REMOTE_ADDR'];
$Consulta_Login     "SELECT * FROM  `usuarios` WHERE  `nombre_usuario_flat` =  '$usuario' AND  `pass_usuario` =  '$contraseña'";
$Actualizar         "UPDATE  `$basededatos`.`usuarios` SET  `fecha_ultimo_acceso` =  '$fecha', `ip_ultimo_acceso` = '$ipusuario', `numero_de_accesos` = `numero_de_accesos`+1 WHERE `usuarios`.`nombre_usuario_flat` ='$usuario'";
$conexion            mysql_connect("$servidormysql","$usuariomysql","$passmysql");
mysql_select_db("$basededatos"$conexion);
$Login    mysql_query($Consulta_Login$conexion);

if(
$row mysql_fetch_array($Login)) {
    if (
$row['activo'] == '1') {
        if (!
mysql_query($Actualizar,$conexion)) {
            die(
'Error: ' mysql_error());
        } else {
            echo 
"Te identificaste correctamente";
            
$_SESSION["$usuario"] = $usuario;    
            echo 
'<meta http-equiv="Refresh" content="2;url=inicio.php">';
        }
    } else {
        echo 
"Tu cuenta está inactiva.";
    }
} else {
    echo 
"Usuario o Contraseña incorrecta";
}
    echo 
"</center></fieldset>";
    echo (
'<br><a href="index.php">[Volver]</a>');
}
?>
Básicamente verifica que los datos para iniciar sesión sean correctos, si lo son verifica si la cuenta está activa, y si está activa, escribe unos valores en la base de datos y te envía a inicio.php aunque todavía no he programado nada en inicio.php lol