Foros del Web » Programando para Internet » PHP »

Login PHP MySQL

Estas en el tema de Login PHP MySQL en el foro de PHP en Foros del Web. Hola a todos! Llevo unos 3 dias volviendome loco con algo que seguramente sea una tontería fácil para la mayoría de vosotros. Os cuento. He ...
  #1 (permalink)  
Antiguo 17/02/2010, 00:13
 
Fecha de Ingreso: febrero-2010
Mensajes: 11
Antigüedad: 14 años, 2 meses
Puntos: 0
Exclamación Login PHP MySQL

Hola a todos!

Llevo unos 3 dias volviendome loco con algo que seguramente sea una tontería fácil para la mayoría de vosotros. Os cuento.

He creado una WEB y para poder acceder a su contenido primero hay que loguearse. Los usuarios y passwords están almacenados en una tabla en MySQL. Lógicamente, tiene que recorrer la tabla y comprobar si esta o no el user y el pass para poder autentificar al usuario.

Además del botón para el logueo, hay otro que darse de alta. Sale un pequeño formulario donde introducimos un user y pass y al aceptar, se introducen los valores en la tabla usuarios de MySQL.

Bien, pues como digo, llevo 3 días probando con todos los códigos que veo por la web, pero todavía no estoy muy puesto en PHP asi que no consigo hacer nada, nunca se me loguea el usuario!!!

Os pongo el código (lo he modificado mil veces asi que os lo pongo según lo tengo y me comentais si podeis que hago mal):

Cita:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Informacion sobre Skate Nacional e Internacional</title>
</head>

<body bgcolor="#000000">

<table width="100%" height="80%">
<tr>
<td valign="middle">
<div align="center"><img src="Fotos/LogoInicio2.jpg" /></div>
</td>
</tr>

<tr>
<td>
<div align="center">
<font color="white">User: <input type="text" name="uss" value=""><hr width="20%"> Pass: <input type="password" name="pss" value=""/></font>
</div>
</td>
</tr>
</table>

<table align="center" cellpadding="12">
<tr>
<td>
<form action="index.php" method="post">
<font color="white"><input type="submit" name="conectar" value="Conectar" /></font>
</form>
</td>
<td>
<form action="index.php" method="post">
<font color="white"><input type="submit" name="Nuevo" value="Alta usuario" /></font>
</form>
</td>
</tr>
</table>

<?php
if ($_REQUEST['conectar']=="Conectar")
{
$con = mysql_connect("localhost","root","");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}

mysql_select_db("proyecto", $con);

$nombre = mysql_query("Select Nombre from usuarios where Nombre = '$_REQUEST[uss]' and Password = '$_REQUEST[pss]'");

if (mysql_error($con))
{
die('Error: ' . mysql_error());
}

if ($nombre == "$_REQUEST[uss]")
{
echo "bien"; //comprobacion del IF

}
else
{
echo "mal"; //comprobacion del IF

}

mysql_close($con);
}
elseif ($_REQUEST['Nuevo']=='Alta usuario')
{
echo<<<fin
<font color="#FFFFFF">
<br><center> ALTA DE USUARIO. INTRODUZCA USUARIO Y PASSWORD </center><br>
<table width="100%" height="100%">
<tr>
<td valign="middle">
<div align="center">
<form action="index.php" method="post">
User: <input type="text" name="nom" value="" />
<br />
Pass: <input type="password" name="pass" value="" />
<br />
<input type="submit" name="enviar" value="Aceptar" />
</form>
</div>
</td>
</tr>
</table>
</font>
fin;

if ($_REQUEST['enviar']=="Aceptar")
{
$con = mysql_connect("localhost","root","");

if (!$con)
{
die('Could not connect: ' . mysql_error());
}

mysql_select_db("Proyecto", $con);

$U = $_REQUEST["nom"];
$P2 = $_REQUEST["pass"];

if ($U == NULL && $P2 == NULL)
{
echo "Introduce todos los datos";
}
else
{
mysql_query("INSERT INTO usuarios (Nombre, Password) VALUES ('$_REQUEST[nom]', '$_REQUEST[pass]')");

mysql_close($con);
}
}

}
?>

</body>

</html>
MUCHAS GRACIAS A TODOS!!

Última edición por QuirogaXD; 17/02/2010 a las 00:14 Razón: Me subscribo al tema.
  #2 (permalink)  
Antiguo 17/02/2010, 05:11
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Login PHP MySQL

Bienvenido, QuirogaXD.
Me temo que si el problema lo tienes con scripts de PHP, estás posteando esto en el foro equivocado. Los problemas de PHP tienen su propio foro: Foro de PHP.
Si el tema es con las consultas en SQL y el manejo de MySQL, si es aquí, pero acuerdate que las reglas del foro establecen que no se debe poner código de programación. Sólo SQL.

Saludos
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 17/02/2010, 05:58
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Hola, QuirogaXD.

Traslado el tema a una sección que encaja mejor con tu pregunta.
Tema trasladado desde la sección de Mysql.

Saludos.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #4 (permalink)  
Antiguo 17/02/2010, 07:02
 
Fecha de Ingreso: diciembre-2003
Mensajes: 204
Antigüedad: 20 años, 4 meses
Puntos: 2
Respuesta: Login PHP MySQL

Mira, te paso dos ejemplos:

http://blog.jesusyepes.com/php/intro...o-de-usuarios/

http://blog.jesusyepes.com/diseno-we...-jquery-y-php/

Uno usa ajax, y el otro clases para abstraer el acceso a la bd, pero quizá te sirvan como ejemplo.

Un saludo
  #5 (permalink)  
Antiguo 17/02/2010, 07:19
 
Fecha de Ingreso: febrero-2010
Mensajes: 818
Antigüedad: 14 años, 2 meses
Puntos: 55
Respuesta: Login PHP MySQL

las consultas a la base de datos están mal

prueba con esto.
Código PHP:
$nombre mysql_query("Select Nombre from usuarios where Nombre = '".$_REQUEST['uss']."' and Password = '".$_REQUEST['pss']."'"); 
y otra cosa, en el if estas comparando la consulta con algo y no el resultado de la consulta.

Última edición por Death_Empire; 17/02/2010 a las 07:26
  #6 (permalink)  
Antiguo 17/02/2010, 11:49
Avatar de eulloa  
Fecha de Ingreso: octubre-2007
Ubicación: Donde caiga la noche, si mi hijo me deja
Mensajes: 691
Antigüedad: 16 años, 5 meses
Puntos: 5
Respuesta: Login PHP MySQL

Lo anteriormente dicho por Death. Además te recomiendo cuando termines de arreglar esta parte comenzar a filtrar o limpiar los datos, cuestiones de seguridad por si acaso. Funciones para ello hay bastantes, solo lo googleas
  #7 (permalink)  
Antiguo 17/02/2010, 20:09
 
Fecha de Ingreso: febrero-2010
Mensajes: 11
Antigüedad: 14 años, 2 meses
Puntos: 0
Respuesta: Login PHP MySQL

Muchas gracias a todos por las respuestas y pido perdón por no haber posteado en el foro adecuado, pensé que lo estaba haciendo correctamente. Siento las molestias

He estado mirando los códigos que me has pasado, DaChux, y la verdad es que me interesaría utilizar AJAX porque el proyecto que estoy haciendo es para clase y seguro que lo valoran mucho, el problema es que no he hecho nada con AJAX y no se exactamente como incluir eso a mi código (está claro que soy un poco negado todavía para esto del PHP...).

Death_Empire, he hecho cambios en el código y creo que ahora las consultas si deberían estar bien, incluso el código debería ser el correcto para poder loguearse, pero siempre me sale "Nombre de usuario o contraseña incorrectos".

Os pongo el código y os indico los cambios que he hecho con respecto al anterior:

Cita:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Informacion sobre Skate Nacional e Internacional</title>
</head>

<body bgcolor="#000000">

<table width="100%" height="80%">
<tr>
<td valign="middle">
<div align="center"><img src="Fotos/LogoInicio2.jpg" /></div>
</td>
</tr>

<tr>
<td> //ESTOS 2 INPUT LOS TENIA FUERA DE UN FORM
<div align="center">
<form action="index.php" method="post">
<font color="white">User: <input type="text" name="uss" value=""><hr width="20%"> Pass: <input type="password" name="pss" value=""/></font>
</form>
</div>
</td>
</tr>
</table>

<table align="center" cellpadding="12">
<tr>
<td>
<form action="index.php" method="post">
<font color="white"><input type="submit" name="conectar" value="Conectar" /></font>
</form>
</td>
<td>
<form action="index.php" method="post">
<font color="white"><input type="submit" name="Nuevo" value="Alta usuario" /></font>
</form>
</td>
</tr>
</table>

<?php
if ($_REQUEST['conectar']=="Conectar")
{
$con = mysql_connect("localhost","root","");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}

mysql_select_db("proyecto", $con);

//CAMBIO EN LA CONSULTA Y EN LA CONDICIÓN

$nombre = $_POST["uss"];
$password = $_POST["pss"];

$registros = mysql_query("Select Nombre from usuarios where Nombre = '".$nombre."' and Password = '".$password."'");

if (mysql_num_rows($registros) == 0)
{
echo "Nombre de usuario o contraseña incorrectos";
}
else
{
echo "Nombre y contraseña correctos!";
}
mysql_close($con);
}
elseif ($_REQUEST['Nuevo']=='Alta usuario')
{
echo<<<fin
<font color="#FFFFFF">
<br><center> ALTA DE USUARIO. INTRODUZCA USUARIO Y PASSWORD </center><br>
<table width="100%" height="100%">
<tr>
<td valign="middle">
<div align="center">
<form action="index.php" method="post">
User: <input type="text" name="nom" value="" />
<br />
Pass: <input type="password" name="pass" value="" />
<br />
<input type="submit" name="enviar" value="Aceptar" />
</form>
</div>
</td>
</tr>
</table>
</font>
fin;

if ($_REQUEST['enviar']=="Aceptar")
{
$con = mysql_connect("localhost","root","");

if (!$con)
{
die('Could not connect: ' . mysql_error());
}

mysql_select_db("Proyecto", $con);

$U = $_REQUEST["nom"];
$P2 = $_REQUEST["pass"];

if ($U == NULL && $P2 == NULL)
{
echo "Introduce todos los datos";
}
else
{
mysql_query("INSERT INTO usuarios (Nombre, Password) VALUES ('$_REQUEST[nom]', '$_REQUEST[pass]')");

mysql_close($con);
}
}

}
?>

</body>

</html>
Muchas gracias a todos!!
  #8 (permalink)  
Antiguo 17/02/2010, 22:29
 
Fecha de Ingreso: febrero-2010
Mensajes: 11
Antigüedad: 14 años, 2 meses
Puntos: 0
Respuesta: Login PHP MySQL

Vale, olvidar el post anterior! Ya he conseguido loguearme! Lo unico que tenia que hacer era incluir el submit dentro del FORM del primer TABLE (y borrar el 2º Table porque ya no servia para nada).

Por ahora, la cosa va bastante bien... pero me da que volvere en pocas horas por aqui a pediros mas consejor. Sobretodo me interesa eso de AJAX, DaChux. Volvere a mirar esos codigos que me has pasado.

GRACIAS a todos! :)

Etiquetas: login, mysql
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 18:45.