Foros del Web » Programando para Internet » PHP »

Ayuda con el login de mis usuarios... por favor

Estas en el tema de Ayuda con el login de mis usuarios... por favor en el foro de PHP en Foros del Web. Veran, lo ke pasa es ke trato de entrar desde mi formulario con los datos de mis usuarios pasandolos a un archivo en PHP usando ...
  #1 (permalink)  
Antiguo 25/03/2008, 15:04
 
Fecha de Ingreso: marzo-2008
Mensajes: 3
Antigüedad: 16 años, 1 mes
Puntos: 0
Ayuda con el login de mis usuarios... por favor

Veran, lo ke pasa es ke trato de entrar desde mi formulario con los datos de mis usuarios pasandolos a un archivo en PHP usando PHP 5, conectandome desde una base de datos en MySQL 5.0, con un servidor APACHE 1.3.

Aki estan los codigos:

--- Este es el formulario ---

Código HTML:
<html>
<head>
<title>PHP Test</title>
</head>
<body>

<FORM METHOD="post" ACTION="clave.php" > 

<p> Nombre de usuario: <INPUT TYPE="TEXT" NAME="user"> </p><br>
<p> Clave de usuario: <INPUT TYPE="PASSWORD" NAME="pass"> </p><br>
<p><INPUT TYPE="submit" value="Entrar" NAME="entrada"> </P>

</FORM>

</body>
</html> 

--- Este es el codigo de clave.php ---

Código PHP:
<html>
<head>
<title>Clave</title>
</head>
<body>


<?php 
// Recibe las variables

$user=$_POST['user'];
$pw=$_POST['pass'];

$usertrim($user);
$pwtrim($pw);

//Revisa ke no falten campos
if (!$user || !$pw)
{
  echo 
'Faltan datos de registro.';     
  exit;
}


//Conexion con la BD
$db = new mysqli("localhost""root""""ryk"); 

if (
mysqli_connect_errno())
{
echo 
"No se pudo conectar correctamente con la Base de datos";
exit();
}

//Realiza la buskeda en la BD, pero tengo problemas aki
//Si al realiza la buskeda pongo "select ... where nombre=".$user." and..." no 
//encuentra nada, por ke al imprimir saca esto "select ... where nombre=Julio_Cs and..." y creo yo ke no lo maneja como cadena al faltar las comillas ("Julio_Cs")y por eso no encuentra nada, al menos asi me pasaba en programacion con postgres sql, no se si sea igual.
//Si lo dejo como esta, pasa sin importar ke introduzca e incluso con la instruccion
//"select ... where nombre=\"".$user."\" and..." le agrega comillas pero pasa de todos modos. 
$query "SELECT nombre FROM clientes WHERE nombre='$user' and clave='$pw'"

 
$result=mysqli_query($db$query); 



//Revisa el resultado de la buskeda
if (!$result)
{
//No encontro nada, muestra la sintaxis de la buskeda para darme una idea ke estoy haciendo y muestra ke datos mande y los ke hay en la BD
  
echo "SELECT nombre FROM clientes WHERE nombre='$user' and clave='$pw'<br>";
  echo 
"Datos incorrectos. ".$user." con clave ".$pw." no existe en la Base de Datos. Solo existen: ";


$query "SELECT * FROM clientes;"

$result=mysqli_query($db$query); 

$num_results=$result->num_rows;



for (
$i=0$i <$num_results$i++)
{
$row $result->fetch_assoc();     
echo 
'<p><strong>'.($i+1).'. Nombre: ';     
echo 
htmlspecialchars(stripslashes($row['nombre']));     
echo 
'</strong><br />clave: ';     
echo 
stripslashes($row['clave']);     
echo 
'</p>';  
}
$result->free();  

}
else
{

//Si encontro algo, muestra la sintaxis de la buskeda y muestra los resultados
  
echo "SELECT nombre FROM clientes WHERE nombre='$user' and clave='$pw'<br>";
  echo 
"Bienvenido ".($row['nombre']);
}
$db->close(); 

?> 




</body>
</html>

He probado muchas cosas, incluso me pongo a imprimir en todos lados para ver como seria la consulta, o al menos darme una idea, no creo ke afecte, pero no me sale de igual modo, si alguien me puede ayudar se lo agradecere mucho.

Es para un proyecto de la escuela, mis amigos y yo no encontramos arreglo, y para regreso de vacaciones de semana santa ya lo necesitamos por ke si no reprobamos la unidad , por favor, si pueden orientarme un poco.

Gracias y hasta luego, un saludo a todos.
  #2 (permalink)  
Antiguo 25/03/2008, 15:08
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Re: Ayuda con el login de mis usuarios... por favor

¿Cual es el error que te marca?

Saludos.
  #3 (permalink)  
Antiguo 25/03/2008, 16:59
(Desactivado)
 
Fecha de Ingreso: diciembre-2006
Mensajes: 225
Antigüedad: 17 años, 5 meses
Puntos: 1
Re: Ayuda con el login de mis usuarios... por favor

muchas veces me ha pasado eso para eso yo hago esto


$user=" ' ".$_POST['user']." ' ";
$pw=" ' ".$_POST['pass']." ' ";


y en la consulta lo monto asi

$query = "SELECT nombre FROM clientes WHERE nombre=$user and clave=$pw";

probalo asi no cambias de a mucho pero a veces esos cambios mejoran el codigo probalo y me dices
  #4 (permalink)  
Antiguo 26/03/2008, 09:33
 
Fecha de Ingreso: marzo-2008
Mensajes: 3
Antigüedad: 16 años, 1 mes
Puntos: 0
Re: Ayuda con el login de mis usuarios... por favor

Gracias por tu ayuda, lo probare y te digo.

Por cierto GatorV, lo ke pasa es ke no me realiza la consulta correctamente, o bien no encuentra nada, o de plano pasa sin ke los datos correspondan a alguno dentro de la BD, y no se por ke.
  #5 (permalink)  
Antiguo 26/03/2008, 12:44
 
Fecha de Ingreso: marzo-2008
Mensajes: 3
Antigüedad: 16 años, 1 mes
Puntos: 0
De acuerdo Re: Ayuda con el login de mis usuarios... por favor

Bueno, he logrado sacar adelante el codigo ese, gracias por la ayuda brindada talcual , me sirvio bastante.

Aki esta el codigo del PHP despues de las ultimas modificaciones.



Código PHP:
<html>
<head>
<title>Clave</title>
</head>
<body>


<?php 

$user
=$_POST['user']; 
$pw=$_POST['pass'];

if (!
$user || !$pw)
{
  echo 
'Faltan datos de registro.';     
  exit;
}

$user=" '".$_POST['user']."' "
$pw=" '".$_POST['pass']."' ";


$usertrim($user);
$pwtrim($pw);




//if (!get_magic_quotes_gpc())  
//{
//  $user = addslashes($user);    
//  $pw = addslashes($pw);
//}

$db = new mysqli("localhost""root""""ryk"); 

if (
mysqli_connect_errno())
{
echo 
"No se pudo conectar correctamente con la Base de datos";
exit();
}


$query "SELECT * FROM clientes WHERE nombre=$user and clave=$pw;";
 
$result=mysqli_query($db$query); 

$num_results=$result->num_rows;


if (
$num_results>0)
{

 for (
$i=0$i <$num_results$i++)
  {
    
$row $result->fetch_assoc();     
    echo 
'<H1 align=center><strong> Bienvenido ';     
    echo 
htmlspecialchars(stripslashes($row['nombre']));     
    echo 
'</H1>';  
  }

}
else
{
  echo 
"<div align=center>Datos incorrectos. ".$user." no existe en la Base de Datos.</div>";

}

$db->close(); 

?> 

</body>
</html>
Gracias de nuevo y hasta luego.
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 23:57.