Foros del Web » Programando para Internet » PHP »

Sistema de Login

Estas en el tema de Sistema de Login en el foro de PHP en Foros del Web. Hola amigos, estoy aprendiendo PHP y la verdad es que google no me dejo muy claro... voy bien encaminado así que si alguien quiere aprender ...
  #1 (permalink)  
Antiguo 19/10/2009, 15:42
 
Fecha de Ingreso: mayo-2008
Ubicación: Santiago-Chile
Mensajes: 253
Antigüedad: 15 años, 11 meses
Puntos: 1
Sistema de Login

Hola amigos, estoy aprendiendo PHP y la verdad es que google no me dejo muy claro... voy bien encaminado así que si alguien quiere aprender a como hacerlo puede leer la solución al problema que espero que posteen.

1- Base de datos creada en phpmyadmin con los siguientes campos
user_id user_user user_pass
(Para quienes vayan aprendiendo, cree la base de datos con los id para mantener un orden y en algun momento relacionarlo con otra tabla ya sea darle permisos especiales y otros. luego el user que es logico que el usuario y pass que es logico que es la clave... ahora todos con el inicio de user_ para mantener un orden ya que cuando hay muchas como que no se entiende muy bien.)

3- y AQUI MI GRAN DUDA!!!!
login.php
Código PHP:
<?php 
if(isset($_POST['enviar'])){
if(empty(
$_POST['usuario']) || empty($_POST['password'])) 
echo 
'Debes llenar todos los datos';  
elseif(
$_POST['usuario']==test and $_POST['password']==test){ 
$_SESSION['usuario']=$_POST['usuario']; 
$_SESSION['password']=$_POST['password'];  
echo 
'Te haz loguedo como '.$_SESSION['usuario']; 


?>
ese codigo lo saque de internet creo que de aqui y mesclado con otro y bueno funciono cuando usuario y password son iguales a test pero como cada usuario debe ser distinto se almacena en la base de datos y bueno ¿como lo comparo?

SI PUEDEN EXPLICAR PORQUE FUNCIONA ESE CODIGO SERIA IDEAL PARA PODER APRENDER
favor ayuda!!

Última edición por bkolores; 19/10/2009 a las 15:43 Razón: se me olvido poner
  #2 (permalink)  
Antiguo 19/10/2009, 15:50
Avatar de MarioAraque
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Valencia
Mensajes: 1.398
Antigüedad: 14 años, 6 meses
Puntos: 265
Respuesta: Sistema de Login

Yo creo que test no es nada. Porque ahi te falta buscar el usuario en la base de datos que tenga ese nombre,y luego comparar sus passwords (o buscar usuario y password).

Eso si, no te conviene poner en una sesion el valor del password, ese ejemplo la verdad no me gusta para nada.

Saludos.
  #3 (permalink)  
Antiguo 19/10/2009, 15:51
 
Fecha de Ingreso: mayo-2008
Ubicación: Santiago-Chile
Mensajes: 253
Antigüedad: 15 años, 11 meses
Puntos: 1
Respuesta: Sistema de Login

uhmmm.... dale es que como comentaba estoy empezando... si me puedes ayudar con el codigo te lo agradeceria quiero aprender de verdad
  #4 (permalink)  
Antiguo 19/10/2009, 15:55
Avatar de MarioAraque
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Valencia
Mensajes: 1.398
Antigüedad: 14 años, 6 meses
Puntos: 265
Respuesta: Sistema de Login

La primera parte pregunta si el valor del user o del pass estan vacios (funcion empty), en caso de q lo esten muestra ese error.
En caso contrario tenes q buscar en tu base de datos (creada arriba) el user y su password, en caso de q existan entonces el usuario inicia sesion, en caso contrario deberia mostrar el mensaje clasico de "nombre y/o password invalidos".

Lo q te falta ahi es la busqueda en la base de datos, q quizas la resume en test, por eso te digo q mucho no sirve. Probaste buscar ejemplos mejores?

Saludos.
  #5 (permalink)  
Antiguo 19/10/2009, 15:59
 
Fecha de Ingreso: mayo-2008
Ubicación: Santiago-Chile
Mensajes: 253
Antigüedad: 15 años, 11 meses
Puntos: 1
Respuesta: Sistema de Login

si la verdad he buscado ejemplos... pero fue lo que más logre entender... a ver entonces lo que falta allí es un while o algo así que liste los usuarios y clave para hacer la comparación?


Código PHP:
<?php 
if(isset($_POST['enviar'])){
if(empty(
$_POST['usuario']) || empty($_POST['password'])) // esta linea verifica si los campos usuario y password estan vacios
echo 'Debes llenar todos los datos';  // aqui solo imprime en pantalla un texto en caso que los campos de arriba esten vacios
elseif($_POST['usuario']==test and $_POST['password']==test){ 
$_SESSION['usuario']=$_POST['usuario']; 
$_SESSION['password']=$_POST['password'];  
echo 
'Te haz loguedo como '.$_SESSION['usuario']; 


?>
  #6 (permalink)  
Antiguo 19/10/2009, 16:00
Avatar de pato12  
Fecha de Ingreso: septiembre-2007
Ubicación: Salta
Mensajes: 1.620
Antigüedad: 16 años, 6 meses
Puntos: 101
Respuesta: Sistema de Login

Hola,
Revisa este link: http://www.forosdelweb.com/f18/aport...suario-725268/
Suerte
Salu2
__________________
Half Music - www.halfmusic.com
  #7 (permalink)  
Antiguo 19/10/2009, 16:03
 
Fecha de Ingreso: mayo-2008
Ubicación: Santiago-Chile
Mensajes: 253
Antigüedad: 15 años, 11 meses
Puntos: 1
Respuesta: Sistema de Login

grande pato12, te pasaste muchas gracias... voy a leerlo esta explicadito ojala me funcione...!!!

oye doc cualquier cosa de diseño que necesites comentame.!!!
  #8 (permalink)  
Antiguo 19/10/2009, 16:50
 
Fecha de Ingreso: mayo-2008
Ubicación: Santiago-Chile
Mensajes: 253
Antigüedad: 15 años, 11 meses
Puntos: 1
Respuesta: Sistema de Login

pato12

he avanzado harto con el sistema que tu hiciste... claro que le estoy haciendo un arreglin :D

Código PHP:
<? if($_SESSION[user]) {
         echo 
"Bienvenido ";
    echo 
$user;
        } else { 
?>
           <form name="login_form" method="post" action="<? $_SERVER['PHP_SELF']; ?>">
        Usuario:<input type="text" name="usuario" />
    Clave:<input type="password" name="clave" />
    <input type="submit" name="button" id="button" value="Entrar">
    </form>
    <? ?>
te cuento el login lo puse en el index.php donde no necesito que me redireccione sino que me cargue la misma pagina pero en vez de que aparesca el formulario diga... Bienvenido $user
no me funciona el codigo... me ayudas???
  #9 (permalink)  
Antiguo 19/10/2009, 16:53
Avatar de MarioAraque
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Valencia
Mensajes: 1.398
Antigüedad: 14 años, 6 meses
Puntos: 265
Respuesta: Sistema de Login

Pusiste $_SESSION[user], es $_SESSION["user"], si cambias eso te anda ahora?

Saludos.
  #10 (permalink)  
Antiguo 19/10/2009, 16:53
Avatar de pato12  
Fecha de Ingreso: septiembre-2007
Ubicación: Salta
Mensajes: 1.620
Antigüedad: 16 años, 6 meses
Puntos: 101
Respuesta: Sistema de Login

Hola,
Recuerda el session_start(); al principio de todo.
Tambia cambia:
Código php:
Ver original
  1. <? if($_SESSION[user]) {
por:
Código php:
Ver original
  1. <? if(isset($_SESSION['user'])) {
Suerte
Salu2
__________________
Half Music - www.halfmusic.com
  #11 (permalink)  
Antiguo 19/10/2009, 16:58
 
Fecha de Ingreso: mayo-2008
Ubicación: Santiago-Chile
Mensajes: 253
Antigüedad: 15 años, 11 meses
Puntos: 1
Respuesta: Sistema de Login

disculpa mi ignorancia que es isset??

mira así lo tengo... antes de <html>

Código PHP:
<?php
    
require ('adm/entrar.php');
?>
y en el div donde esta el login

Código HTML:
<? if(isset($_SESSION['user'])) {
        	echo "Bienvenido ";
			echo $user;

        } else { ?>
        	<form name="login_form" method="post" action="<? $_SERVER['PHP_SELF']; ?>">
        	Usuario:<input type="text" name="usuario" />
			Clave:<input type="password" name="clave" />
			<input type="submit" name="button" id="button" value="Entrar">
			</form>
		<? } ?> 

Última edición por bkolores; 19/10/2009 a las 17:01 Razón: mas preguntas
  #12 (permalink)  
Antiguo 19/10/2009, 16:59
Avatar de pato12  
Fecha de Ingreso: septiembre-2007
Ubicación: Salta
Mensajes: 1.620
Antigüedad: 16 años, 6 meses
Puntos: 101
Respuesta: Sistema de Login

isset(), sirve para saber si existe la variable.
__________________
Half Music - www.halfmusic.com
  #13 (permalink)  
Antiguo 19/10/2009, 17:01
 
Fecha de Ingreso: mayo-2008
Ubicación: Santiago-Chile
Mensajes: 253
Antigüedad: 15 años, 11 meses
Puntos: 1
Respuesta: Sistema de Login

chuta edite el codigo, ojala puedas ver el post anterior
  #14 (permalink)  
Antiguo 19/10/2009, 17:46
 
Fecha de Ingreso: mayo-2008
Ubicación: Santiago-Chile
Mensajes: 253
Antigüedad: 15 años, 11 meses
Puntos: 1
Respuesta: Sistema de Login

para quienes siguieron el problema la solucion es simple!!!...

<? if(isset($_SESSION['user'])) {

se cambio por

<? if(isset($_SESSION['usuario'])) {
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 15:11.