viernes, 12 de octubre de 2012

Validación de formularios en php

Cuándo deseamos crear una aplicación en php que tenga relacionada una base da datos a esta y necesitamos que registre usuarios se nos ocurre que lo mejor seria que en nuestro formulario se validen los datos y si los datos son correctos se registre automáticamente para ello les mostrare este codiguillo:

  • Creamos nuestra base de datos (mysql )
  • Creamos nuestro validador. 
1 Crearemos nuestra base de datos donde guardaremos nuestros registros 
en msyql crear una tabla con los campos nombre,correo y contraseña
2 Crearemos un archivo validador.php
<?php
$con=mysql_connect('','','') or die ('error conectando a la base de datos');
mysql_query('use basededatos') or die ('no existe base de datos');
?>



<form action="validador.php" name="form" method="POST">
nombre:<input type='text' name='nombre' value=''>
Correo electronico<input type='text' name='correo' value=''>
Contraseña<input type='text' name='contraseña' value=''>
<input type='text' name='registrar' value='Registrarse'>

Nuestro validor php
<?php
$con=mysql_connect('','','') or die ('error conectando a la base de datos');
mysql_query('use basededatos') or ('no existe base de datos');
if (isset($_POST[registrar])){
$validar=true;
Recogeremos los datos de nuestro formulario y las pasaremos a variables asi:
$nombre=$_POST[nombre];
$correo=$_POST[correo];
$password=$_POST[contraseña];

if(!preg_match('/[a-zA-Z]+$/', $nombre)){ 
            echo "El nombre es invalido. <br>"; $validar=false;}

if(!preg_match('/^[^@]+@[a-zA-Z0-9._-]+.[a-zA-Z]+$/', $correo)){ 
            echo "El email es inválido. <br>"; $validar=false;}

if(!preg_match('/^[a-zA-Z0-9._-]+$/', $password)){ 
            echo "escribe de nuevo tu contraseña. <br>"; $validar=false;}
if ($validar==true){
$sql="INSERT INTO tabla (nombre,correo,contraseña)
VALUES ('$_POST[nombre]','$_POST[correo]','$_POST[contraseña]')";
if (!mysql_query($sql,$con))
  {
  die('Error: ' . mysql_error());
  }
echo "Te has registrado satisfactoriamente";
mysql_close($con);
}
}
?>

}
</form>
?>
</body>
</html>
Cualquier duda comentar..

No hay comentarios:

Publicar un comentario