Cita:
Iniciado por herzbazi
no entiendo exactamente que quieres lograr con todo el codigo que tienes , si quieres hacer un login algo como este te funciona de maravilla, aclarandote que falta seguridad en tu consulta
Código PHP:
Ver original<?php
if (isset($_POST['username']) && !empty($_POST['username']) && isset($_POST['password']) && !empty($_POST['password'])){ $username=$_POST['username'];
$password=$_POST['password'];
if($NumReg == 1){
$_SESSION['usuario'] = $row['tipo_usario'];
header("Location: pagina.php"); }elseif ($NumReg == 0) {
header("Location: index.php?m=1"); }
}else{
echo "La password o el usuario no fueron enviados";
}
}
?>
busca sprintf y mysqli_real_escape_string para darle seguridad pues asi como la tienes facil de entrar a tu sistema sin contar un user y pass
Hola, no entendí mucho del real escape string, no me quedo claro que es y para que se usa, en el manual entendi como se usa pero no entendi para que se usa, casi yendome del tema este codigo lo pase bien a mysqli? , estaba en mysql
Código PHP:
<?php
// Configura los datos de tu cuenta
$dbhost='localhost';
$dbusername='root';
$dbuserpass='';
$dbname='database';
// Conexión a la base de datos
$conexion = mysqli_connect($dbhost, $dbusername, $dbuserpass, $dbname);
if (mysqli_connect_errno())
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
exit();
}
// Preguntaremos si se han enviado ya las variables necesarias
if (isset($_POST["username"])) {
$username = $_POST["username"];
$password = $_POST["password"];
$cpassword = $_POST["cpassword"];
$email = $_POST["email"];
// Hay campos en blanco
if($username==NULL|$password==NULL|$cpassword==NULL|$email==NULL) {
echo "un campo está vacio.";
}else{
// ¿Coinciden las contraseñas?
if($password!=$cpassword) {
echo "Las contraseñas no coinciden";
}else{
$pass = crypt($password,"$2y$");
// Comprobamos si el nombre de usuario o la cuenta de correo ya existían
$checkuser = mysqli_query($conexion,"SELECT username FROM users WHERE username='$username'");
$username_exist = mysqli_num_rows($checkuser);
$checkemail = mysqli_query($conexion,"SELECT email FROM users WHERE email='$email'");
$email_exist = mysqli_num_rows($checkemail);
if ($email_exist>0|$username_exist>0) {
echo "EL nombre de usuario o la cuenta de correo estan ya en uso";
}else{
$user = mysqli_real_escape_string($conexion,$username);
$pass1 = mysqli_real_escape_string($conexion,$pass);
//Todo parece correcto procedemos con la inserccion
$query = mysqli_query($conexion,"INSERT INTO users (username, password, email) VALUES('$user','$pass1','$email')");
echo "El usuario $username ha sido registrado de manera satisfactoria.";
}
}
}
}
mysqli_close($conexion);
?>
Y lo de sprintf: Daría mas seguridad usarlo?