Respuesta: seguridad en formulario <?php
include("conexion.php");
?>
<?php
// verificamos si se han enviado ya las variables necesarias. $usuario = htmlentities(strip_tags(addslashes($_POST['usuario'])), ENT_QUOTES);
$contraseña= md5($_POST['contrasenna']);
$repcontrasenna= md5($_POST['repcontrasenna']);
$email= $_POST['email']; aqui debes verificar que es un email
$nombre= htmlentities(strip_tags(addslashes($_POST['nombre'])), ENT_QUOTES);
$nombreamo= htmlentities(strip_tags(addslashes($_POST['nombreamo'])), ENT_QUOTES);
$raza= htmlentities(strip_tags(addslashes($_POST['raza'])), ENT_QUOTES);
$telefono= (int)$_POST['telefono'];
$edad= (int)$_POST['edad'];
$sexo= htmlentities(strip_tags(addslashes($_POST['sexo'])), ENT_QUOTES);
$provincia= htmlentities(strip_tags(addslashes($_POST['provincia'])), ENT_QUOTES);
$capa= htmlentities(strip_tags(addslashes($_POST['capa'])), ENT_QUOTES);
// Hay campos en blanco cambiando los input por los de este tipo nunca podran dejar campos en blanco
<input name="usuario" type="text" value="Usuario" size="20" maxlength="40" onfocus="this.value=(this.value=='Usuario') ? '' : this.value;" onblur="this.value=(this.value=='') ? 'Usuario' : this.value;"/>
if($usuario=="" || $contrasenna=="" || $repcontrasenna=="" || $email=="" || $nombre=="" || $nombreamo=="" || $raza=="" || $telefono=="" || $edad=="" || $sexo=="" || $provincia=="") {
echo "un campo está vacio."; }else{
// ¿Coinciden las contraseñas?
if($contrasenna!=$repcontrasenna) {
echo "Las contraseñas no coinciden";
}else{
$sql_chk = mysql_query("SELECT usuario, email FROM usuarios ,$link) or die(mysql_error());
$row = mysql_fetch_array($sql_chk); if($usuario == htmlentities(strip_tags(addslashes($row['usuario'])), ENT_QUOTES)){
echo "El nombre de usuario o la cuenta de correo estan ya en uso";
} elseif($contrasenna== htmlentities(strip_tags(addslashes($row['contrasenna'])), ENT_QUOTES));{{
echo "El nombre de usuario o la cuenta de correo estan ya en uso";
}else{
mysql_query("INSERT INTO usuarios (usuario, contrasenna, ciudad, email, nombreamo, telefono, provincia) VALUES ('$usuario','$contrasenna','$ciudad','$email','$no mbreamo','$telefono','$provincia')",$link);
mysql_query("INSERT INTO animal (usuario, nombre, raza, edad, sexo,capa, pedigri) VALUES ('$usuario','$nombre','$raza','$edad','$sexo','$ca pa','$pedigri')",$link);
mysql_query("INSERT INTO fotos (nombre,foto) VALUES ('$nombre','$foto')",$link);
echo 'El usuario '.$usuario.' ha sido registrado de manera satisfactoria.<br />';
echo 'Ahora puede entrar ingresando su usuario y su password<br />';
}}
?>
//Un formulario de login, que aparecera despues de el registro fue exitoso
<FORM ACTION="comprobar.php" METHOD="post">
Usuario : <INPUT TYPE="text" NAME="usuario" SIZE=20 MAXLENGTH=20><br />
Password: <INPUT TYPE="password" NAME="password" SIZE=10 MAXLENGTH=10><br />
<INPUT TYPE="submit" VALUE="Ingresar">
</FORM>
<?php
}
}
} al hacer el login debes comprobar la contrasenna por md5
$contrasenna=md5($_POST['contrasenna']);
if($contrasenna == 'la contraseña de la base de datos'){
son iguales
}else{
no lo son
}
para compararla con la de la base de datos de lo contrario dara error en comprobar.php action del formulario
?>
Última edición por webankenovi; 12/11/2011 a las 14:59 |