Hola buenas estoy empezando con PHP y mySQL y la verdad que me esta costando quería saber que os parece este code que hice si esta bien hecho o se debería de hacer de otra manera o lo que no debería de haber hecho.
login.php
<html>
<head>
<title>Login</title>
</head>
<body>
<?php
?>
<!-- Start! By Xafi -->
<form action="conectar.php" method="post">
<b>Nick:</b><input type="text" name="nick"><br>
<b>Pass:</b><input type="password" name="pass">
<input type="submit" name="conectar" value="Consultar DB">
</form>
<!-- End! By Xafi -->
</body>
</html>
conectar.php
<?php
function Conectar(){
$link =mysql_connect("localhost","root","");
mysql_select_db("test",$link);
return $link;
}
$conexion=Conectar();
$busqueda="select * from cuentas where name=\"".$_POST['nick']."\"";
$consulta=mysql_query($busqueda,$conexion);
$extraccion=mysql_fetch_array($consulta);
if($extraccion['name']== $_POST['nick']){
mysql_free_result($consulta);
$busqueda="select * from cuentas where pass=\"".$_POST['pass']."\"";
$consulta=mysql_query($busqueda,$conexion);
$extraccion=mysql_fetch_array($consulta);
if($extraccion['pass']== $_POST['pass'])echo "Bienvenido ".$_POST['nick'] ." se ha identificado correctamente";
else echo "Datos no encontrado en la Base de Datos.";
}
else echo "Datos no encontrado en la Base de Datos.";
mysql_free_result($consulta);
if(mysql_close()==true) echo "<br>Conexión cerrada";
else "<br>No se pudo cerrar la conexión";
?>
Hola, lo primero que tienes que hacer es no permitir que entren caracteres extraños, mírate algo sobre inyección SQL. Además, yo particularmente soy muy amigo de pasar todos los $_POST a una variable.
Tú tienes:
$busqueda="select * from cuentas where name=\"".$_POST['nick']."\"";
Yo pondría par evitar inyección SQL:
$nick = $_POST['nick'];
$busqueda = "SELECT * FROM cuentas WHERE name='%s'", mysql_real_escape_string($nick);
Haría lo mismo con todos los SELECT.
Otra cosa, te recomendaría que si vas a hacer algo con usuarios guardaras su contraseña cifrada en md5, busca por google que es fácil, y así cuando vas a comparar la contraseña ingresada y la guardada tuvieras que comparar el md5 de la contraseña ingresada.
Un saludo!
bien :) añado a marcadores para cuando sepa un poco más hacerlo como tu dices :) gracias tio.