Ayuda : Login y Seccion de Usuario

Tema en 'Programación & Programación Web' iniciado por GoeR, 30 Abr 2013.

  1. GoeR

    GoeR Usuario Nuevo nvl. 1
    197/244

    Registrado:
    13 Ene 2013
    Mensajes:
    8
    Me Gusta recibidos:
    0
    Portalianos necesito crear un Formulario de Regisgtro que posteriormente me lleve a un Login y ello me lleve a paginas ocultas que solo se vean en la seccion de Usuarios y por ultimo que ese usuario se pueda hacer un Logout

    Favor ayudenme que no kxo mucho ese sistema de PHP

    de antemano muchas grax::portalnet::
     
  2. El Fin

    El Fin Usuario Habitual nvl.3 ★
    187/244

    Registrado:
    2 Oct 2009
    Mensajes:
    16.562
    Me Gusta recibidos:
    16
    Es muy general lo que estás pidiendo, tiene muchas variables implicadas como de seguridad y perfiles de usuario por ejemplo. No sacas nada con hacer un sistema así a la rápida si cualquiera puede saltarselo usando el tamper data.

    Deberías comenzar a hacerlo y postear tus dudas, probablemente tendrás que usar una base de datos para guardar las cuentas y ten cuidado con usar el $_SESSION porque si estás en un servidor compartido entonces es posible que otros miembros del servidor puedan obtener los datos de tus sesiones.

    Saludos.
     
  3. GoeR

    GoeR Usuario Nuevo nvl. 1
    1/41

    Registrado:
    13 Ene 2013
    Mensajes:
    8
    Me Gusta recibidos:
    0
    mira tengo un php con el registro del usuario y uno del login pero el login no me valida el user y nose como crear que diga que el que el usuario esta conectado y que el user vea una pagina oculta
     
  4. cavoso

    cavoso Usuario Casual nvl. 2
    37/41

    Registrado:
    31 May 2008
    Mensajes:
    2.727
    Me Gusta recibidos:
    13
    pues facil solo deja algun dato del usuario en una varible global como las session y despues la metes en un if que te verifique si esa variable esta vacia, si esta vacia significa que el usuario que esta viendo la pagina no esta logeado, si tiene algun dato significa que esta logeado, para hacerla mas segura puedes darle a la variable especifica el id del usuario aunque tienes que tener cuidado de que nadie mas sepa que es el id y la verificas con el is_numeric() que te verifica si el dato de la variable es numerico, mira te invito a ver mi curso de PHP en la seccion manuales y tutoriales es algo simple pero puede que te ayude en algo, revisa la clase de session quisas te ayude para el sistema de login, lo bueno de las session es que solo si las tienes iniciadas te muestran datos.

    te dejo el enlace por si te interesa, cuaquier cosa pregunta http://www.portalnet.cl/comunidad/p...sos-programacion-web-y-general-portalnet.html
     
  5. GoeR

    GoeR Usuario Nuevo nvl. 1
    1/41

    Registrado:
    13 Ene 2013
    Mensajes:
    8
    Me Gusta recibidos:
    0

    Gracias por ayudarme .. ya por lo menos logro que registre el user y que se logee y pase a su perfil pero lo que si todavia no puedo hacer es que no me valide cuando un campo esta NULL pero quisas es xq nose bien donde colocar las variable de validacion te dejo igual el codigo para que lo revises y veas si puedes ayudarme de ante mano muchas gracias

    Insertar CODE, HTML o PHP:
    [COLOR=#000000]<?phprequire_once('funciones.php');
    conectar('localhost', 'usuario', 'pass', 'nombreDB');
    
    
    //Recibir
    $user = strip_tags($_POST['user']);
    $pass = strip_tags(sha1($_POST['pass']));
    $mail = strip_tags($_POST['mail']);
    $ip = $_SERVER['REMOTE_ADDR'];
    
    
    $query = @mysql_query('SELECT * FROM tutorial1_usuarios WHERE user="'.mysql_real_escape_string($user).'"');
    if($existe = @mysql_fetch_object($query))
    {
        echo 'El usuario '.$user.' ya existe.';    
    }else{
        $meter = @mysql_query('INSERT INTO tutorial1_usuarios (user, pass, mail, ip) values ("'.mysql_real_escape_string($user).'", "'.mysql_real_escape_string($pass).'", "'.mysql_real_escape_string($mail).'", "'.$ip.'")');
        if($meter)
        {
            echo 'Usuario registrado con exito';
        }else{
            echo 'Hubo un error en el registro.';    
        }
    }
    ?>[/COLOR]
     
    #5 GoeR, 1 May 2013
    Última edición: 1 May 2013
  6. cavoso

    cavoso Usuario Casual nvl. 2
    37/41

    Registrado:
    31 May 2008
    Mensajes:
    2.727
    Me Gusta recibidos:
    13
    pues como te digo, para pasar la variable de que el usuario esta logeado solo pasalo con un $_session['logeado']=1;
    por poner un ejemplo donde 1 significa que esta logeado y 0 que no esta logeado, como estas usando php no te deberia devolver null a menos que lo allas configurado por defecto en la base de datos como null, simplemente en las otras paginas deberias colocar un if asi

    if($_session['logeado']==1){
    aqui el codigo en caso de que este logeado
    }
    else{
    aqui el codigo que dice que no esta logeado
    }

    y ya, ahora puedes usar session o puedes usar cookies ahi al gusto del programador, si usas session no olvides que debes agregar session_start(); justo despues en la primera linea despues de la apertura del codigo php para que te reconosca las session ahora por lo que veo ahi solo es codigo de insersion para el registro de usuarios
     
  7. GoeR

    GoeR Usuario Nuevo nvl. 1
    1/41

    Registrado:
    13 Ene 2013
    Mensajes:
    8
    Me Gusta recibidos:
    0
    Cavoso lo que pasa es que cuando registro el user , pass y mail en NULL me lo registra igual por ende pueden logearse en null y lo que quiero es que en el registro no puedan hacerlo si hay algo null
     
  8. sIMP.

    sIMP. Usuario Casual nvl. 2
    87/163

    Registrado:
    29 Jul 2009
    Mensajes:
    7.437
    Me Gusta recibidos:
    4
    funcion de validar campos eso te falta, la funcion la puedes hacer en js (javascript)... y la puedes llamar por el evento onclick del boton que envia el formulario. Busque en internet sr hay muchas paginas que enseñar a validar campos vacios,mail, rut ..etc
     
  9. El Fin

    El Fin Usuario Habitual nvl.3 ★
    187/244

    Registrado:
    2 Oct 2009
    Mensajes:
    16.562
    Me Gusta recibidos:
    16
    Eso no sirve porque con el famoso tamper data (u otra herramienta parecida) te saltas los filtros en javascript.

    Yo usaría una validación estricta, por ejemplo meter en el $_SESSION[] la variable $logueado que diga "si" si está logueado.

    entonces la validación se haría de la siguente forma

    if ($_SESSION["logueado"]==="si"){
    //logueado
    }else{
    //no logueado
    }

    El triple signo igual (===) indica que no se debe realizar ninguna conversión de tipo de datos para las variables cuestionadas, así que el script se fijara tanto de si el dato es una cadena de texto como también si es igual a "logueado", si cualquiera de esas dos revisiones fallas entonces el usuario no está logueado.

    El problema con los números es que a veces el script hace conversiones de valores inesperadas (ej: el NULL puede interpretarse como número en determinados casos). Para validaciones importantes es bueno ser lo más estricto posible.

    Y lo otro, los valores de la variable que no importan no deben tomarse en cuenta, por ejemplo en mi script lo único que me interesa es si el $logueado es "si", no me interesa saber si es "no" o "cero" o 0 o es numérico, etc.

    Para terminar les dejo otro ejemplo del ===

    "0"==0 //verdadero
    "0"===0 // falso porque "0" es texto y 0 es número (pero ojo, todas las entradas de usuario vienen como texto).

    Saludos.
     
  10. cavoso

    cavoso Usuario Casual nvl. 2
    37/41

    Registrado:
    31 May 2008
    Mensajes:
    2.727
    Me Gusta recibidos:
    13
    aslo simple, antes de verificar si existe o no le colocas la verificacion seria algo asi como

    if($email==''){ //el '' indica que esta vacio ahora si te lo arroja como null quisas debas colocarle 'null' o en mayuscula
    aqui un codigo de redireccion
    }
    else{
    //aqui el codigo de insersion
    }

    con eso basta para decirle al sistema que si no hay mail no lo deje pasar, lo otro que puedes hacer es llamar al mismo formulario dentro del codigo en vez de redireccion y de esta forma le insertas de vuelta lo que el usuario ya ingreso y que estaba bien.
     
  11. Aguil@

    Aguil@ Usuario Habitual nvl.3 ★
    197/244

    Registrado:
    10 Oct 2007
    Mensajes:
    13.935
    Me Gusta recibidos:
    38
  12. El Fin

    El Fin Usuario Habitual nvl.3 ★
    187/244

    Registrado:
    2 Oct 2009
    Mensajes:
    16.562
    Me Gusta recibidos:
    16