Foros del Web » Programando para Internet » PHP »

Autentificacion usuario cookies

Estas en el tema de Autentificacion usuario cookies en el foro de PHP en Foros del Web. Buenas noches! Tengo un formulario: Código HTML: <form action= "validacio.php" method= "POST" > Usuari: <input type= "text" name= "usuari" id= "usuari" > Contrasenya: </b> &nbsp ...
  #1 (permalink)  
Antiguo 13/01/2009, 17:40
 
Fecha de Ingreso: febrero-2008
Mensajes: 76
Antigüedad: 16 años, 2 meses
Puntos: 0
Autentificacion usuario cookies (SOLUCIONADO!)

Buenas noches!

Tengo un formulario:

Código HTML:
<form action="validacio.php" method="POST"> 
            Usuari:<input type="text" name="usuari" id="usuari">
            Contrasenya:</b>&nbsp<input type="password" name="contrasenya" id="contrasenya"><br>
			              <br>
                    			              
                    <select name="idioma">
                        <option value="1">Català
                        <option value="2">Castellà
                        <option value="3">Anglès
                    </select>&nbsp&nbsp&nbsp&nbsp
                    <br><br>
                    
                    <input type="checkbox"> Recordar Usuari
                    <br><br>
                    
                    <input type="reset" value="No recordar!">
                    <input type="submit" value="VALIDAR!">
                    <br>
        </form> 
...el cual al hacer click en VALIDAR, tiene que hacer lo siguiente:

-coger el valor del select para saber que idiomo escogió el usuario y guardarlo en una cookie (como??)

-coger el valor de usuario y el de contraseña y mirar si existen en un array de usuarios y contraseñas (como??). para cogerlos solo se que se hace así:
Código PHP:
$usuari $_POST["usuari"];
    
$contrasenya $_POST["contrasenya"]; 
MUCHISIMAS GRACIAS!!

Última edición por bERTUZ; 18/01/2009 a las 07:50 Razón: Dar las gracias por adelantado!
  #2 (permalink)  
Antiguo 13/01/2009, 17:48
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 9 meses
Puntos: 416
Respuesta: Autentificacion usuario cookies

Código HTML:
<select name="idioma">
                        <option value="1">Català
                        <option value="2">Castellà
                        <option value="3">Anglès
                    </select> 
Un SELECT se recoge igual que cualquier otra variable de formulario.
En tu caso, con POST, $_POST['nameDeTuSelect'].

Si imprimes esta variable en la pagina que procesa el formulario, dependiendo de lo que haya elegido el usuario, se imprimira, en tu caso, 1, 2 o 3.

Podrias hacer un switch, o simplemente poner el value de cada <option> con un nombre distintivo, que no sean numeros.

Código HTML:
<select name="idioma">
                        <option value="catala">Català
                        <option value="castella">Castellà
                        <option value="angles">Anglès
                    </select> 
Código PHP:
<?php
//Pagina que procesa el formulario:

//Seteamos la cookie con el valor del formulario:
setcookie('idioma'$_POST['idioma'], time() + 3600'/');
?>
http://www.php.net/manual/en/function.setcookie.php

Cita:
-coger el valor de usuario y el de contraseña y mirar si existen en un array de usuarios y contraseñas (como??). para cogerlos solo se que se hace así:
Depende de la estructura de tu array.
  #3 (permalink)  
Antiguo 13/01/2009, 18:15
 
Fecha de Ingreso: febrero-2008
Mensajes: 76
Antigüedad: 16 años, 2 meses
Puntos: 0
Respuesta: Autentificacion usuario cookies

Muchas gracias Ronruby por tu rápida respuesta! :)

...además de crear la cookie de idioma, he creado una cookie que guarda el nombre de usuario...como podría hacer para que al entrar en la página principal del formulario, me quedara el nombre de usuario ya escrito en el inputtext del usuario, gracias a lo guardado en la cookie (sólo si el usuario ha marcado el checkbox recordar usuario)??

Código PHP:
setcookie('idioma'$_POST['idioma'], time() + 3600);
    
setcookie('nomUsuari'$usuaritime() + 3600); 
SALUDOS!

PD: que significa la '/' final al hacer el setcookie?
Código PHP:
setcookie('idioma'$_POST['idioma'], time() + 3600'/'); 
(he mirado en el manual...pero no entiendo muy bien lo que realmente significa..:S)
  #4 (permalink)  
Antiguo 13/01/2009, 21:05
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 9 meses
Puntos: 416
Respuesta: Autentificacion usuario cookies

Cita:
...además de crear la cookie de idioma, he creado una cookie que guarda el nombre de usuario...como podría hacer para que al entrar en la página principal del formulario, me quedara el nombre de usuario ya escrito en el inputtext del usuario, gracias a lo guardado en la cookie (sólo si el usuario ha marcado el checkbox recordar usuario)??
Solo crea la COOKIE con el usuario cuando el usuario marque el Checkbox, y si el usuario inicia sesion sin el checkbox, revisas que la cookie existe, si existe la borras sino prosigues a hacer el login.

Para mostrar el usuario en el textfield basta con hacer:
Código PHP:
<input type="text" name="usuario" value="<?php if(isset($_COOKIE['usuario'])) echo $_COOKIE['usuario']; ?>" />
  #5 (permalink)  
Antiguo 14/01/2009, 01:26
 
Fecha de Ingreso: marzo-2008
Mensajes: 166
Antigüedad: 16 años, 1 mes
Puntos: 5
Respuesta: Autentificacion usuario cookies

Es una mala idea guardar una cookie con el nombre del usuario... en cualquier momento le cambio el valor a "administrador" y ¡vuala! soy el administrador de tu aplicación ;)

Saludos.
  #6 (permalink)  
Antiguo 14/01/2009, 08:41
 
Fecha de Ingreso: febrero-2008
Mensajes: 76
Antigüedad: 16 años, 2 meses
Puntos: 0
Respuesta: Autentificacion usuario cookies

Muchas gracias de nuevo Ronruby por tus respuestas precisas y claras...se agradece muchisimo la ayuda que brinda este foro! :)

GastoNike, simplemente con que un usuario cualquiera cambie el nombre de usuario de la cookie que se graba en su navegador para hacerse pasar por administrador?? uff..no hay ningun metodo de seguridad para evitar eso?? :S

MUCHAS GRACIAS POR LA GENIAL AYUDA! :) ..salud

Última edición por bERTUZ; 14/01/2009 a las 13:31
  #7 (permalink)  
Antiguo 14/01/2009, 10:45
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 9 meses
Puntos: 416
Respuesta: Autentificacion usuario cookies

Cita:
Iniciado por GastoNike Ver Mensaje
Es una mala idea guardar una cookie con el nombre del usuario... en cualquier momento le cambio el valor a "administrador" y ¡vuala! soy el administrador de tu aplicación ;)

Saludos.
No se esta usando la COOKIE para autenticar al usuario, sino simplemente para "recordar" el nombre de usuario en un textfield. Aun cuando se cree la cookie y se cambie a "administrador", no habra problema alguno, porque ese valor solo se imprimira en un textfield.
  #8 (permalink)  
Antiguo 14/01/2009, 13:36
 
Fecha de Ingreso: febrero-2008
Mensajes: 76
Antigüedad: 16 años, 2 meses
Puntos: 0
Respuesta: Autentificacion usuario cookies

Claro...si solo afecta al textBox no debería pasar nada...cierto. Así pues...ningun problema! (de momento) :)

una pequeña duda que tengo es [como puedo mirar desde la pagina "validacion.php" si el checkbox de la pagina principal "index.html" está seleccionado o no??] para así crear la cookie que guarde el nombre de usuario.

Si el checkbox no está seleccionado no hace nada...y si hace click en el botón reset del formulario, tendría que borrar la cookie.
  #9 (permalink)  
Antiguo 14/01/2009, 14:49
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 9 meses
Puntos: 416
Respuesta: Autentificacion usuario cookies

Eso lo compruebas con un simple IF.

if(!empty($_POST['checkbox'])) {
//haz esto (crear la cookie)
}
  #10 (permalink)  
Antiguo 17/01/2009, 11:50
 
Fecha de Ingreso: febrero-2008
Mensajes: 76
Antigüedad: 16 años, 2 meses
Puntos: 0
Respuesta: Autentificacion usuario cookies

Cita:
Iniciado por Ronruby Ver Mensaje
Para mostrar el usuario en el textfield basta con hacer:
Código PHP:
<input type="text" name="usuario" value="<?php if(isset($_COOKIE['usuario'])) echo $_COOKIE['usuario']; ?>" />
...haciendo esto me sale el codigo php en el textBox usuario, no me muestra el contenido de la cookie como tendría que hacer :S
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:10.