1
Tutoriales PHP / Re:[Problema] PHP - Sistem logueo
« en: 24 de Marzo de 2012, 23:34:24 pm »Me sigue diciendo que la pass es incorrecta ve.Claro, en la query del login estás seleccionando todas las contraseñas de la tabla
logueo:Código: [Seleccionar]<?php
Registro:
session_start();
include("../inc/inc.config.php");
$username = mysql_real_escape_string($_POST['username']);
$password = md5(mysql_real_escape_string($_POST['password']));
$pass = mysql_fetch_array(mysql_query("SELECT * FROM `users` WHERE password = '".$password."'" ));
$user_exist = mysql_num_rows(mysql_query("SELECT * FROM `users` WHERE username = '".$username."'"));
if($_POST['username'] == ""){
echo "No has introducido tu nombre de usuario";
}elseif($user_exist == "0"){
echo "Este usuario no existe";
}elseif($_POST['password'] == ""){
echo "Debes introducir tu contraseña";
}elseif($password != $pass['password']){
echo "La contraseña es incorrecta";
}else{
$_SESSION['username'] = $pass['username'];
header("location: ./");
}
?>Código: [Seleccionar]<?php
//Incluimos la conexión a la DB
include("../inc/inc.config.php");
//Comprobamos que ningún campo quede vacío
if(isset($_POST['registro'])){
//Filtramos los POST con la función mysql_real_escape_string() para evitar inyección
$name = mysql_real_escape_string($_POST['name']);
$username = mysql_real_escape_string($_POST['username']);
$password = mysql_real_escape_string($_POST['password']);
$email = mysql_real_escape_string($_POST['email']);
$fecha = mysql_real_escape_string($_POST['fecha']);
$sobre_mi = mysql_real_escape_string($_POST['sobre_mi']);
//Comprobamos que no exista el usuario
$exist_username = mysql_num_rows(mysql_query("SELECT * FROM `users` WHERE username = ".$username." "));
$exist_email = mysql_num_rows(mysql_query("SELECT * FROM `users` WHERE email = ".$email." "));
if($name == ""){
echo "El campo 'Nombre' no puede quedar vacío";
}elseif($exist_username>0){
echo "Este usuario ya existe";
}elseif($fecha == ""){
echo "Fecha invalida";
}elseif($password == ""){
echo "El campo 'Contraseña' no puede quedar vacío";
}elseif($email == ""){
echo "El campo 'Email' no puede quedar vacío";
}elseif($fecha == ""){
echo "Fecha invalida";
}elseif($sobre_mi ==""){
echo "Ingrese algo sobre usted";
}else{
//Si todo es correcto procedemos a insertar el usuario en la DB
//Encriptamos la contraseña
$pass = md5($password);
mysql_query("INSERT INTO users (name,username,password,email,fecha,sobre_mi) VALUES (".$name.','.$username.','.$pass.','.$email.','.$fecha.','.$sobre_mi.")");
echo "Haz sido registrado con exito";
header("Location: ./");
}
}
?>
En todo caso sería:
Código: [Seleccionar]
mysql_query('SELECT `password` FROM `users` WHERE `nick` = \''.$username.'\'');