Autor Tema: AYUDA CON LOGIN!  (Leído 502 veces)

Desconectado criollonalubre

  • PHPerit@
  • *
  • Mensajes: 34
  • Karma: 0
  • Sexo: Masculino
  • Nuev@ PHPer@
    • Ver Perfil
    • Anxotvi
AYUDA CON LOGIN!
« en: 24 de Agosto de 2013, 13:30:40 pm »
Estoy intentando crear un form de login con un código que encontré de internet. Ya tengo el registro perfecto pero no soi capaz de adaptarlo a mi "Medida" os dejo aquí el código, pero también me podeis dar otros códigos. Muchas Gracias! P.D. He censurado los datos importantes con *:
Código: [Seleccionar]
            <?php
            $host
="*"// Host name
            
$username="*"// username
            
$password="*"// password
            
$db_name="*"// Database name
             
            // Replace database connect functions depending on database you are using.
            
mysql_connect("$host""$username""$password");
            
mysql_select_db("$db_name");
            
            
$email $_POST[&#39;email&#39;];
            
$contra md5($_POST[&#39;contra&#39;]);
            
            
if(isset($_POST["entrar"])) {
            
$usuario strip_tags(htmlspecialchars(htmlentities(mysql_real_escape_string($email))));
            
$contrasena strip_tags(htmlspecialchars(htmlentities(mysql_real_escape_string($contra))));
            
$resultado mysql_query("SELECT email, * FROM * WHERE email=&#39;".$email."&#39; and *=&#39;".$contra."&#39; ");
            
$verificar mysql_fetch_array($resultado);
            
$v_usuario mysql_num_rows($resultado);
            if(
$verificar["*"] == $contrasena and $v_usuario != 0) {
            
$_SESSION["login_usuario"] = $verificar[&#39;email&#39;];
             
echo &#39;<SCRIPT LANGUAGE="javascript">location.href = "registro.php";</SCRIPT>&#39;;
              
}else{
             echo 
"*****";
            }
            }

            
?>

Sé html y css avanzado pero estoy aprendiendo php y js, hago lo que puedo.

Comunidad PHPeros

AYUDA CON LOGIN!
« en: 24 de Agosto de 2013, 13:30:40 pm »

Desconectado JuLiAnChz

  • PHPerit@
  • *
  • Mensajes: 6
  • Karma: 0
  • Nuev@ PHPer@
    • Ver Perfil
Re:AYUDA CON LOGIN!
« Respuesta #1 en: 29 de Agosto de 2013, 21:42:02 pm »
Hola criollonalubre,

Muy bien, mira te creo este login como lo haria yo, ya tu lo acomodas a tu necesidad. Empecemos, primero que todo vamos a hacer de cuenta de que para que mi usuario se identifique, debo exigirle 2 datos, el cual el usuario debera digitar el email y el password, asi mismo tengo una base de datos llamada login y una tabla llamada usuarios, suponiendo que es esta la tabla:

IdNombreEmailPassword
1Julian Andres Chilitoejemplo_julian@hotmail.coma524qasdqw54qdas

Como ves tengo mis datos ecriptados ( sha1 y md5 )... ahora si que ya sabemos que datos vamos a exigir que digite el usuario para su login, aqui viene el codigo php

Código: [Seleccionar]
<?php
session_start
();//primero inicio la funcion session start para comenzar las variables de sesion globales, esto siempre debe ir en la cabecera del archivo.
//logicamente nuestra conexion a la BD

$MySQL[0] = "localhost";//servidor
$MySQL[1] = "root";//usuario del mysql
$MySQL[2] = "root";//password del mysql
$MySQL[3] = "login";//nombre de tu BD

mysql_connection($MySQL[0], $MySQL[1], $MySQL[2]) or die("Error -> La conexion en el servidor MySQL no se ha podido efectuar. = ".mysql_error());
mysql_select_db($MySQL[3]) or die("Error -> La conexion a la base de datos no pudo ser realizada. ".mysql_error());

?>

//segundo creo el formulario del login
<form action="" method="POST">
<b>Em@ail</b><br>
<input type="text" name="txtEmail" size="20"><br>
<b>Password</b><br>
<input type="password" name="txtPass" size="20"><br>
<input type="submit" value="Identificarse" name="btnLogin"><br>
</form>
// despues sigo con el codigo PHP
<?php
if(isset($_POST[&#39;btnLogin&#39;]))//primero identifico que el usuario halla 
{
         if(!empty(
$_POST[&#39;txtEmail&#39;]) && !empty($_POST[&#39;txtPass&#39;]))//Luego verifico que los campos que estoy exigiendo no sean de valor NULL es decir que no esten vacios
         
{
                   
$pass1 sha1($_POST[&#39;txtPass&#39;]);
                   
$pass md5($pass1);
                   
$sql mysql_query("SELECT * FROM usuarios WHERE email=&#39;".$_POST[&#39;txtEmail&#39;]."&#39; AND password=&#39;".$pass."&#39;");// verificamos que existan estos datos en la base de datos
                   
if(mysql_num_rows($sql) > 0)//verificamos si existe una fila con lo dicho en la variable $sql
                   
{
                               
$_SESSION[&#39;login_user&#39;] = "1";
                               
$_SESSION[&#39;email_user&#39;] = $_POST[&#39;txtEmail&#39;];
                               //aqui haces un redireccionamiento ya sea en php o javascript ( recomiendo javascript )
                    
} else {
                               echo 
"Error -> Tu email o contrase&ntilde;a estan erroneas";//muestras el mensaje en caso de que no haya filas con nuestra condicional en el lenguaje sql
                    
}                   
         } else {
               echo 
"Error -> Debes llenar el campo Em@il y el campo Password";
         }
}

?>


Bueno esto es todo, cualquier cosa me avisas si te funciona o no... no lo probe pero estoy seguro de que te va a funcionar.

Edit: Puedes colocar este codigo en la pagina que no desees que entren visitantes, sino que solo entren usuarios:
Código: [Seleccionar]
<?php
session_start
();
if(empty(
$_SESSION[&#39;login_user&#39;]))//verificamos si la persona esta identificada
{
          
header("Location: index.php");//redirecciona a la persona sino esta identificada
          
exit;
}
?>


Edit 2: Lo que esta encriptado es la contraseña unicamente, esos numeros que coloque como valor no son exactamente un encriptamiento, son numeros y letras que digite al azar.

Edit 3: Si quieres un logout te puede servir este codigo:
Código: [Seleccionar]
<?php
session_start
();
if(!empty(
$_SESSION[&#39;login_user&#39;]))//verificamos si la persona esta identificada
{
          
$_SESSION = array();//vaciamos la variable global de session
          
session_destroy();//destruimos la session del usuario
          
header("Location: index.php");//redireccionamos al usuario
          
exit;
} else {
         
header("Location: index.php");//redireccionamos al intruso!!!
         
exit;
}
?>



Edit 4: Espero te haya servido... Saludos JuLiAnChz!
« Última modificación: 29 de Agosto de 2013, 21:52:10 pm por JuLiAnChz »

Desconectado MaNuX

  • PHPero Avanzado
  • ****
  • Mensajes: 385
  • Karma: 4
  • Sexo: Masculino
  • PHP & MySQL
    • Ver Perfil
    • CliKys
Re:AYUDA CON LOGIN!
« Respuesta #2 en: 29 de Agosto de 2013, 22:31:10 pm »
Hola criollonalubre,

Muy bien, mira te creo este login como lo haria yo, ya tu lo acomodas a tu necesidad. Empecemos, primero que todo vamos a hacer de cuenta de que para que mi usuario se identifique, debo exigirle 2 datos, el cual el usuario debera digitar el email y el password, asi mismo tengo una base de datos llamada login y una tabla llamada usuarios, suponiendo que es esta la tabla:

IdNombreEmailPassword
1Julian Andres Chilitoejemplo_julian@hotmail.coma524qasdqw54qdas

Como ves tengo mis datos ecriptados ( sha1 y md5 )... ahora si que ya sabemos que datos vamos a exigir que digite el usuario para su login, aqui viene el codigo php

Código: [Seleccionar]
<?php
session_start
();//primero inicio la funcion session start para comenzar las variables de sesion globales, esto siempre debe ir en la cabecera del archivo.
//logicamente nuestra conexion a la BD

$MySQL[0] = "localhost";//servidor
$MySQL[1] = "root";//usuario del mysql
$MySQL[2] = "root";//password del mysql
$MySQL[3] = "login";//nombre de tu BD

mysql_connection($MySQL[0], $MySQL[1], $MySQL[2]) or die("Error -> La conexion en el servidor MySQL no se ha podido efectuar. = ".mysql_error());
mysql_select_db($MySQL[3]) or die("Error -> La conexion a la base de datos no pudo ser realizada. ".mysql_error());

?>

//segundo creo el formulario del login
<form action="" method="POST">
<b>Em@ail</b><br>
<input type="text" name="txtEmail" size="20"><br>
<b>Password</b><br>
<input type="password" name="txtPass" size="20"><br>
<input type="submit" value="Identificarse" name="btnLogin"><br>
</form>
// despues sigo con el codigo PHP
<?php
if(isset($_POST[&#39;btnLogin&#39;]))//primero identifico que el usuario halla 
{
         if(!empty(
$_POST[&#39;txtEmail&#39;]) && !empty($_POST[&#39;txtPass&#39;]))//Luego verifico que los campos que estoy exigiendo no sean de valor NULL es decir que no esten vacios
         
{
                   
$pass1 sha1($_POST[&#39;txtPass&#39;]);
                   
$pass md5($pass1);
                   
$sql mysql_query("SELECT * FROM usuarios WHERE email=&#39;".$_POST[&#39;txtEmail&#39;]."&#39; AND password=&#39;".$pass."&#39;");// verificamos que existan estos datos en la base de datos
                   
if(mysql_num_rows($sql) > 0)//verificamos si existe una fila con lo dicho en la variable $sql
                   
{
                               
$_SESSION[&#39;login_user&#39;] = "1";
                               
$_SESSION[&#39;email_user&#39;] = $_POST[&#39;txtEmail&#39;];
                               //aqui haces un redireccionamiento ya sea en php o javascript ( recomiendo javascript )
                    
} else {
                               echo 
"Error -> Tu email o contrase&ntilde;a estan erroneas";//muestras el mensaje en caso de que no haya filas con nuestra condicional en el lenguaje sql
                    
}                   
         } else {
               echo 
"Error -> Debes llenar el campo Em@il y el campo Password";
         }
}

?>


Bueno esto es todo, cualquier cosa me avisas si te funciona o no... no lo probe pero estoy seguro de que te va a funcionar.

Edit: Puedes colocar este codigo en la pagina que no desees que entren visitantes, sino que solo entren usuarios:
Código: [Seleccionar]
<?php
session_start
();
if(empty(
$_SESSION[&#39;login_user&#39;]))//verificamos si la persona esta identificada
{
          
header("Location: index.php");//redirecciona a la persona sino esta identificada
          
exit;
}
?>


Edit 2: Lo que esta encriptado es la contraseña unicamente, esos numeros que coloque como valor no son exactamente un encriptamiento, son numeros y letras que digite al azar.

Edit 3: Si quieres un logout te puede servir este codigo:
Código: [Seleccionar]
<?php
session_start
();
if(!empty(
$_SESSION[&#39;login_user&#39;]))//verificamos si la persona esta identificada
{
          
$_SESSION = array();//vaciamos la variable global de session
          
session_destroy();//destruimos la session del usuario
          
header("Location: index.php");//redireccionamos al usuario
          
exit;
} else {
         
header("Location: index.php");//redireccionamos al intruso!!!
         
exit;
}
?>



Edit 4: Espero te haya servido... Saludos JuLiAnChz!

Te aconsejo leerte las normas del foro, aquí no damos los códigos echos, guiamos para que el usuario pueda aprender.

Saludos.


Desconectado JuLiAnChz

  • PHPerit@
  • *
  • Mensajes: 6
  • Karma: 0
  • Nuev@ PHPer@
    • Ver Perfil
Re:AYUDA CON LOGIN!
« Respuesta #3 en: 03 de Septiembre de 2013, 17:29:27 pm »
Te aconsejo leerte las normas del foro, aquí no damos los códigos echos, guiamos para que el usuario pueda aprender.

Saludos.

wow, MaNuX lo lamento, pero habia colocado los comentarios para que entendiera que es lo se estaba haciendo, asi el se tomaba la idea, pero bueno lo siento!