Foros del Web » Programando para Internet » PHP »

ven algun error?? login script

Estas en el tema de ven algun error?? login script en el foro de PHP en Foros del Web. Código PHP: <?php  error_reporting ( E_ALL ); //Conexion con la DB $dbc =  mysqli_connect ( 'xxxxx' , 'xxxxx' , 'xxxxx' , 'xxxxx' ); //Comprobar conexion if (! $dbc ) {     echo ...
  #1 (permalink)  
Antiguo 30/09/2011, 16:13
 
Fecha de Ingreso: marzo-2007
Mensajes: 782
Antigüedad: 17 años, 7 meses
Puntos: 16
ven algun error?? login script

Código PHP:
<?php 
error_reporting
(E_ALL);

//Conexion con la DB
$dbcmysqli_connect('xxxxx','xxxxx','xxxxx','xxxxx');


//Comprobar conexion
if (!$dbc) {
    echo
'Can\'t connect to the DB server';
    exit();
}

//Si se declaro variable Submit continuar
if (isset($_POST['Submit'])) {

//Declaro variables y limpio informacion en los campos

$email mysqli_real_escape_string($dbctrim($_POST['email']));
$password mysqli_real_escape_string($dbctrim($_POST['password']));

//Me aseguro que $email y $password no esten vacios
if (!empty($email) && !empty($password))

{  

//Busco en la DB el usuario para ver si existe
$query "SELECT * FROM users WHERE email='$email' AND password=SHA('$password')";
$data mysqli_query($dbc$query);


if (
mysqli_num_rows($data)==0) {

//El email no pudo ser encontrado, intentelo de nuevo
echo 'No se puso encontrar el email en nuestra lista de usuarios, por favor intente de nuevo';

//Proceso el query

mysqli_close($dbc);

//exit the script
exit();

//Cierra el if de la linea 34
                                
} else {
                                    
//Si el usuario se encuentra, dar bienvenida
        
echo 'Bienvenido, estas logueado';
        
                                       }

//Aplica al if de la linea 27
} else {
    
//Uno o mas campos estan vacios, por favor ingrese email y password.    
        
echo 'Por favor ingrese el email y password para loguearse';
       }

//Cierra el if de la linea 18       
}

//Close msqli connection

mysqli_close($dbc);        

       

?>
Me parece el mensaje 'No se puso encontrar el email en nuestra lista de usuarios, por favor intente de nuevo'; tengo el usuario creado en la BD no entiendo porque no encuentra el valor... En la base de datos tengo una tabla "users" y 2 campos email y password con encriptacion SHA... No encuentro error alguno de porque.. ven algo malo en el script?
  #2 (permalink)  
Antiguo 30/09/2011, 16:20
 
Fecha de Ingreso: marzo-2007
Mensajes: 782
Antigüedad: 17 años, 7 meses
Puntos: 16
Respuesta: ven algun error?? login script

acabo de agregar
Cita:
mysqli_query($dbc, $query);
despues de $query=... pero tampoco me funciono
  #3 (permalink)  
Antiguo 30/09/2011, 16:26
Avatar de andresdzphp
Colaborador
 
Fecha de Ingreso: julio-2011
Ubicación: $this->Colombia;
Mensajes: 2.749
Antigüedad: 13 años, 3 meses
Puntos: 793
Respuesta: ven algun error?? login script

Cambia esa línea por esta a ver que pasa en la consulta

Código PHP:
Ver original
  1. $data = mysqli_query($dbc, $query) or die(mysqli_error());
__________________
Si sabemos como leer e interpretar el manual será mucho más fácil aprender PHP. En lugar de confiar en ejemplos o copiar y pegar - PHP
  #4 (permalink)  
Antiguo 30/09/2011, 16:29
Avatar de skiper0125  
Fecha de Ingreso: octubre-2010
Ubicación: $this->Mexico('Toluca');
Mensajes: 1.127
Antigüedad: 14 años, 1 mes
Puntos: 511
Respuesta: ven algun error?? login script

Hola que tal.

y donde seleccionas la base de datos

Código PHP:
Ver original
  1. mysqli_select_db("tu base", $dbc);

Saludos
__________________
Recuerda que estamos aquí para orientarte, y no para hacer tu trabajo.
Si mi aporte fue de ayuda, recuerda que agradecer no cuesta nada +1

Skiper0125
  #5 (permalink)  
Antiguo 30/09/2011, 16:30
Avatar de andresdzphp
Colaborador
 
Fecha de Ingreso: julio-2011
Ubicación: $this->Colombia;
Mensajes: 2.749
Antigüedad: 13 años, 3 meses
Puntos: 793
Respuesta: ven algun error?? login script

aquí skiper0125, cuarto parámetro

Código PHP:
Ver original
  1. $dbc= mysqli_connect('xxxxx','xxxxx','xxxxx','xxxxx');
__________________
Si sabemos como leer e interpretar el manual será mucho más fácil aprender PHP. En lugar de confiar en ejemplos o copiar y pegar - PHP
  #6 (permalink)  
Antiguo 30/09/2011, 16:43
 
Fecha de Ingreso: marzo-2007
Mensajes: 782
Antigüedad: 17 años, 7 meses
Puntos: 16
Respuesta: ven algun error?? login script

probe pero sigue el mensaje... mi codigo quedo asi:

login_script.php

Código PHP:
<?php 
error_reporting
(E_ALL);

//Conexion con la DB
$dbcmysqli_connect('xxxx','xxxx','xxxx','xxxx');


//Comprobar conexion
if (!$dbc) {
    echo
'Can\'t connect to the DB server';
    exit();
}

//Si se declaro variable Submit continuar
if (isset($_POST['submit'])) {

//Declaro variables y limpio informacion en los campos

$email mysqli_real_escape_string($dbctrim($_POST['email']));
$password mysqli_real_escape_string($dbctrim($_POST['password']));

//Me aseguro que $email y $password no esten vacios
if (!empty($email) && !empty($password))

{  

//Busco en la DB el usuario para ver si existe
$query "SELECT * FROM users WHERE email='$email' AND password=SHA('$password')";
$data mysqli_query($dbc$query) or die(mysqli_error());


if (
mysqli_num_rows($data) == 0) {

//El email no pudo ser encontrado, intentelo de nuevo
echo 'No se puso encontrar el email en nuestra lista de usuarios, por favor intente de nuevo';

//Proceso el query

mysqli_close($dbc);

//exit the script
exit();

//Cierra el if de la linea 34
                                
} else {
                                    
//Si el usuario se encuentra, dar bienvenida
        
echo 'Bienvenido, estas logueado';
        
                                       }

//Aplica al if de la linea 27
} else {
    
//Uno o mas campos estan vacios, por favor ingrese email y password.    
        
echo 'Por favor ingrese el email y password para loguearse';
       }

//Cierra el if de la linea 18       
}

//Close msqli connection

mysqli_close($dbc);        

       

?>
Y mi html:
Código PHP:
  <form action="login_script.php" method="post" name="form1" id="form1">
      <
input name="email" type="text" id="email" />
      &
nbsp;
<
input name="password" type="password" id="password" />
<
span class="login_signup">
<
input type="submit" class="login_signup_2" name="submit" id="submit" value="Login" style="background:none">
| <
a href="register.php">&nbsp;Sign Up</a></span>
    </
form
  #7 (permalink)  
Antiguo 30/09/2011, 16:45
Avatar de andresdzphp
Colaborador
 
Fecha de Ingreso: julio-2011
Ubicación: $this->Colombia;
Mensajes: 2.749
Antigüedad: 13 años, 3 meses
Puntos: 793
Respuesta: ven algun error?? login script

Ok y muestra donde estás insertando con SHA ? Ya probaste con SHA1 de PHP?

http://php.net/manual/es/function.sha1.php
__________________
Si sabemos como leer e interpretar el manual será mucho más fácil aprender PHP. En lugar de confiar en ejemplos o copiar y pegar - PHP
  #8 (permalink)  
Antiguo 30/09/2011, 16:53
 
Fecha de Ingreso: marzo-2007
Mensajes: 782
Antigüedad: 17 años, 7 meses
Puntos: 16
Respuesta: ven algun error?? login script

En mi base de datos te referis?? tengo un campo email varchar(50) y otro password varchar(18)

Tengo otro script que si me funciona y me subscribe usuarios: tengo este usuario la base de datos lo muestra asi:

[email protected] | 270ccadd491759f614

No conozco el SHA1 soy nuevo en PHP hasta ahora use MD5 y SHA. pero si SHA1 tiene la misma sintaxis ahora pruebo a ver que pasa
  #9 (permalink)  
Antiguo 30/09/2011, 16:56
 
Fecha de Ingreso: marzo-2007
Mensajes: 782
Antigüedad: 17 años, 7 meses
Puntos: 16
Respuesta: ven algun error?? login script

Bueno me diste una idea y lo que hice fue reemplazar

Código PHP:
$query "SELECT * FROM users WHERE email='$email' AND password=SHA('$password')"
por

Código PHP:
$query "SELECT * FROM users WHERE email='$email'"
y si me funciono, entonces significa que tengo un error en lo del password
  #10 (permalink)  
Antiguo 30/09/2011, 17:01
Avatar de andresdzphp
Colaborador
 
Fecha de Ingreso: julio-2011
Ubicación: $this->Colombia;
Mensajes: 2.749
Antigüedad: 13 años, 3 meses
Puntos: 793
Respuesta: ven algun error?? login script

Si el error está por ese lado, depende de como estés insertando en la base de datos. Porque SHA debe tener 40 caracteres y lo que muestras son 18... Muestra como estás insertando a la base de datos los usuarios.
__________________
Si sabemos como leer e interpretar el manual será mucho más fácil aprender PHP. En lugar de confiar en ejemplos o copiar y pegar - PHP
  #11 (permalink)  
Antiguo 30/09/2011, 17:05
 
Fecha de Ingreso: marzo-2007
Mensajes: 782
Antigüedad: 17 años, 7 meses
Puntos: 16
Respuesta: ven algun error?? login script

Huy cierto que al codificar el password se necesitan 40 characters debe ser por ahi, yo tengo password varchar(18).. mi codigo para registrar usuarios es:

Código PHP:
<?php 




$dbc
mysqli_connect('xxxx','xxxx','xxxx','xxxx');


if (!
$dbc) {
    echo
'Can\'t connect to the DB server';
    exit();
}


if (isset(
$_POST['submit'])) {

$email mysqli_real_escape_string($dbctrim($_POST['email']));
$password1 mysqli_real_escape_string($dbctrim($_POST['password1']));
$password2 mysqli_real_escape_string($dbctrim($_POST['password2']));

if (!empty(
$firstname) && !empty($lastname) && !empty($password1) && !empty($password2) && ($password1 == $password2) && preg_match("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$^"$email))

{  

$query "SELECT * FROM users WHERE email='$email'";

$data mysqli_query($dbc$query);

if (
mysqli_num_rows($data)==0) {

$query "INSERT INTO users (firstname, lastname, email, password) VALUES ('$firstname', '$lastname', '$email', SHA('$password1'))";

echo
'inserted';


mysqli_query($dbc$query);


echo
'<p> Tu cuenta ha sido registrada. Puede acceder <a href="index.php">ACA</a></p>';

mysqli_close($dbc);

//exit the script
exit();


                                } else {


        echo
'<p class="error">An account already exists for this username. Please use a different address</p>';

$username="";
                                       }

} else {

    
        echo 
'<p class="error"> You must enter all of the sign-up data, including the desired password twice</p>';
       }


}

//Close msqli connection
mysqli_close($dbc);        

       

?>
  #12 (permalink)  
Antiguo 30/09/2011, 17:08
Avatar de andresdzphp
Colaborador
 
Fecha de Ingreso: julio-2011
Ubicación: $this->Colombia;
Mensajes: 2.749
Antigüedad: 13 años, 3 meses
Puntos: 793
Respuesta: ven algun error?? login script

Aumenta tu campo en 18 caracteres no te cabe todo
__________________
Si sabemos como leer e interpretar el manual será mucho más fácil aprender PHP. En lugar de confiar en ejemplos o copiar y pegar - PHP
  #13 (permalink)  
Antiguo 30/09/2011, 17:10
 
Fecha de Ingreso: marzo-2007
Mensajes: 782
Antigüedad: 17 años, 7 meses
Puntos: 16
Respuesta: ven algun error?? login script

bien genio ahi funciono, era eso con 40 caracteres anda bien... gracias por la ayuda... por hoy estoy, a nadar ahora!

Etiquetas: login, mysql, sql, tabla, ven, variables, usuarios
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 14:41.