home Foro de soporte Espacio WEB PHP
 
Nombre de usuario logeado en index.html
#1 ·

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 :

INICIARSESION.HTML:
<!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>
INICIO.PHP:
<?
    //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>";
?>
LOGIN.PHP:
<?
//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


Usuario Novato
Usuario Novato
Haz clic para ver el perfil del usuario
Mensajes: 2
Desde: 13/Abr/2013
·
#2 ·

¿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.


@man / @woman
@man / @woman
Haz clic para ver el perfil del usuario
Mensajes: 30.308
Desde: 01/Mar/2003
· ·
#3 · ·
Escrito originalmente por @NoSetup.org

¿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.

Bueno he cambiado todo mi login y mi registro para hacerlo con $_SESSION. Ahora el problema que tengo es que al querer pintar el nombre de usuario cuando se registra en el index no tengo manera de que aparezca.

En mi index.html pongo esto pero no aparece el nombre de usuario tras el logeo.GRACIAS

<div id="login" align="right">
<p>Bienvenido<b>
<?php echo $_SESSION['username']; ?></b>
</p>
</div>

Dejo parte de mi codigo por si hace falta

index.php:
<?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.';
            }
        }

        ?>

Usuario Novato
Usuario Novato
Haz clic para ver el perfil del usuario
Mensajes: 2
Desde: 13/Abr/2013
·
#4 ·

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


@man / @woman
@man / @woman
Haz clic para ver el perfil del usuario
Mensajes: 30.308
Desde: 01/Mar/2003
· ·
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
Foro de soporte · Espacio WEB · PHP
Opciones:
Subscríbete a este tema
Date de baja de este tema
Ir al subforo:  
TU NO PUEDES Escribir nuevos temas en este foro
TU NO PUEDES Responder a los temas en este foro
TU NO PUEDES Editar tus propios mensajes en este foro
TU NO PUEDES Borrar tus propios mensajes en este foro
Ahora son las 16:49 UTC+02:00 DST
Temas similares
 I FotoPTemaMensajesÚltima respuesta
No Hay mensajes nuevosHaz clic para ver el perfil del usuario220/Jul/2009, 00:40
 Ir al último mensaje del tema
No Hay mensajes nuevosHaz clic para ver el perfil del usuario129/May/2004, 17:08
 Ir al último mensaje del tema
No Hay mensajes nuevosHaz clic para ver el perfil del usuario101/Sep/2009, 22:55
 Ir al último mensaje del tema
No Hay mensajes nuevosHaz clic para ver el perfil del usuario108/Jul/2009, 21:20
 Ir al último mensaje del tema
No Hay mensajes nuevosHaz clic para ver el perfil del usuario101/Jun/2009, 23:13
 Ir al último mensaje del tema