Ver Mensaje Individual
  #1 (permalink)  
Antiguo 25/03/2008, 15:04
Julio_Cs
 
Fecha de Ingreso: marzo-2008
Mensajes: 3
Antigüedad: 16 años, 2 meses
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.