Avatar Image
Usuario Novato
Usuario Novato

Hola a todos soy nuevo por aqui y muy novato en esto de la programacion y estoy empezando.He montado bastantes foros smf pero por primera vez estoy montando mi pagina completamente desde 0.

La pagina esta hecha en html5 (index.html)

Mi sistema de logeo (login.php/inicio.php/iniciarsesion.html) funciona correctamente pero quisiera que al realizar el logeo el nombre del usuario logeado aparezca en el index.html y no se como hacerlo.

Y a poder ser como hacer un logout para cerrar la sesion, si es posible sobre mi codigo.

Adjunto mi sistema de login basico. Gracias de antemano :

<!DOCTYPE html>
<html>
<head>
    <title>Iniciar Sesión</title>
</head>
<body>
    <!--Creamos nuestro fomrulario con metodo POST y en la acción a realizar será login.php-->
    <form method="POST" action="login.php">
        <!--Creamos los campos y un label para cada uno de ellos-->
        <label for="n_usuario">Usuario: </label>
        <input type="text" name="n_usuario" id="n_usuario"/><br />
        <label for="pwd">Contraseña: </label>
        <!--Este input debe ser -type="password" para que no se muestren los caracteres-->
        <input type="password" name="pwd" id="pwd"/><br />
        <!--Al dar click al botón se ejecutará el -action-->
        <input type="submit" value="Iniciar Sesión"/>
    </form>
</body>
</html>
<?
    //Verificamos si la cookie ya se ha establecido. 
    //[La cookie se establece al iniciar sesión con datos correctos]
if(isset($_COOKIE["misitio_userid"]))
    echo "Usuario con sesión iniciada <br /> <META HTTP-EQUIV='Refresh' CONTENT='1;URL= http://TUPAGINA'>";
    //En caso contrario indicamos que no se ha iniciado sesión.
    //Y poner un link mediante HTML para ir al formulario de inicio.
else
    echo "No haz iniciado sesión <br /> <a href= login/iniciarsesion.html'>Iniciar Sesión</a>";
?>
<?
//Recibimos los valores que intrujo el usuario desde el formulario.
$usuario = $_POST["n_usuario"];
$password = $_POST["pwd"];
//Creamos la conexión a la BD
$conexion = mysql_connect("BD","USUARIO","CONTRASEÑA");
mysql_select_db("BD",$conexion);//Escribimos la sentencia SQL que ejecutaremos.
$sql = "SELECT id_usuario FROM usuario WHERE nombr_usuario = '$usuario' AND contrasenna='$password'";
//Ejecutamos la sentencia SQL
$comprobar = mysql_query($sql);    //Contamos el numero de filas que arroja la sentencia SQL
    //Solo arrojará el "id_usuario" en caso de que los datos introducidos por el usuario sean correctos
    //Por tanto arrojará mas de -0- filas y eso nos indicará que los datos son correctos
    
if(mysql_num_rows($comprobar) > 0)
    {
    //Asignamos a una variable lo que llevará por -valor- la cookie
    $id_usuario = mysql_result($comprobar,0);
    //Establecemos la cookie para matener la sesión abierta.
    setcookie("misitio_userid","$id_usuario",time() + 3600);
    //hacemos la redirección al archivo que evalua si se inicio sesión o no.
    header("Location:inicio.php");
    }
    
else
    echo "Usuario o Contraseña incorrectos";?>

GRACIAS

Avatar Image
@man / @woman
@man / @woman

¿Has probado a usar Sesiones? revisa el apartado de php sobre sesiones y podrás hacer pase de parametros, como el nombre, por este medio.

Avatar Image
Usuario Novato
Usuario Novato
<?php 

    session_start();
    include_once "conexion.php";

    function verificar_login($user,$password,&$result)
    {
        $sql = "SELECT * FROM usuarios WHERE usuario = '$usuario' and password = '$password'";
        $rec = mysql_query($sql);
        $count = 0;
        while($row = mysql_fetch_object($rec))
        {
            $count++;
            $result = $row;
        }
        if($count == 1)
        {
            return 1;
        }
        else
        {
            return 0;
        }
    }
    if(!isset($_SESSION['userid']))
    {
        if(isset($_POST['login']))
        {
            if(verificar_login($_POST['user'],$_POST['password'],$result) == 1)
            {
                $_SESSION['userid'] = $result->idusuario;
                $_SESSION['username'] = $result->usuario;
                $_SESSION['name'] = $result->nombres;
                $_SESSION['type'] = $result->type;
                    header("location:index.php");
            }
            else
            {
                echo 'Su usuario es incorrecto, intente nuevamente.';
            }
        }

        ?>
Avatar Image
@man / @woman
@man / @woman

¿No tendrías que empezar con un session_strat() ?

ATENCIÓN: Este tema no tiene actividad desde hace más de 6 MESES,
te recomendamos abrir un nuevo tema en lugar de responder al actual
Opciones:
Ir al subforo:
Permisos:
TU NO PUEDES Escribir nuevos temas
TU NO PUEDES Responder a los temas
TU NO PUEDES Editar tus propios mensajes
TU NO PUEDES Borrar tus propios mensajes
Temas similares
TemaUsuariosRespuestasVisitasActividad
Por: , el 01/Sep/2009, 22:48
Erikitha NoSetup.org12kSep/09
Por: , el 09/Jul/2009, 12:10
ruben_ibiza_66 NoSetup.org elanimagoBLACK24kJul/09
Por: , el 08/Jul/2009, 20:58
ruben_ibiza_66 NoSetup.org12kJul/09
Por: , el 01/Jun/2009, 23:02
aidasirley GestionXls13kJun/09
Por: , el 28/May/2004, 10:20
Silver-Ryu infinit_1318kMay/04