Ver Mensaje Individual
  #4 (permalink)  
Antiguo 04/12/2015, 19:53
diegoj9999
 
Fecha de Ingreso: noviembre-2015
Ubicación: NULL
Mensajes: 23
Antigüedad: 8 años, 5 meses
Puntos: 1
Respuesta: Al dejar los campos vacios no aparece nada

Cita:
Iniciado por herzbazi Ver Mensaje
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
  1. <?php
  2.     if (isset($_POST['username']) && !empty($_POST['username']) &&
  3.         isset($_POST['password']) && !empty($_POST['password'])){
  4.             $username=$_POST['username'];
  5.             $password=$_POST['password'];
  6.  
  7.             $query = mysql_query("SELECT username,password FROM users WHERE username = '$username'") or die(mysql_error());
  8.             $row = mysql_fetch_array($query);
  9.             $NumReg= mysql_num_rows($row);
  10.             if($NumReg == 1){
  11.                 $_SESSION['usuario'] = $row['tipo_usario'];
  12.                 header("Location: pagina.php");
  13.             }elseif ($NumReg == 0) {
  14.                 header("Location: index.php?m=1");
  15.             }
  16.  
  17.         }else{
  18.             echo "La password o el usuario  no fueron enviados";
  19.         }
  20.     }
  21. ?>

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?

Última edición por diegoj9999; 04/12/2015 a las 19:59