
13/04/2011, 04:35
|
| | Fecha de Ingreso: abril-2011
Mensajes: 103
Antigüedad: 13 años, 11 meses Puntos: 3 | |
Respuesta: Formulario de contacto Prueba con una función de validación antes de enviar los datos:
Código:
private function validarDatos($id, $passwd, $confirmacion, $apellidos, $nombre, $email, $esadmin){
$ret = null;
if ($id == null || $id == '' )
$ret .= 'Login <br>';
if ($passwd == null || $passwd == '')
$ret .= 'Password <br>';
if ($passwd != $confirmacion)
$ret .= 'Confirmación <br>';
if ($email == null || !Mensaje::validar($email))
$ret .= 'Email <br>';
return $ret;
}
Y la función validar mail :
Código:
public function validar($email) {
return eregi('^[-!#$%&\'*+\\./0-9=?A-Z^_`a-z{|}~]+'. '@'. '[-!#$%&\'*+\\/0-9=?A-Z^_`a-z{|}~]+\.' . '[-!#$%&\'*+\\./0-9=?A-Z^_`a-z{|}~]+$', $email);
}
}
Código:
public function crearUsuario($id, $passwd, $confirmacion, $apellidos, $nombre, $email, $esadmin) {
$ret = $this->validarDatos($id, $passwd, $confirmacion, $apellidos, $nombre, $email, $esadmin);
if ( $ret != null )
throw new Exception("Los siguientes datos no son válidos:<br/> " . $ret);
if ($this->recuperarUsuario($id) != null)
throw new Exception("El usuario ". $id ." ya está registrado en la base de datos.");
if ($this->emailDuplicado($id, $email))
throw new Exception ("La cuenta de correo: ".$email." ya existe.");
$secreto = md5($passwd);
$query = "INSERT INTO $this->dbTabla(id, passwd, nombre, apellidos, email, esadmin) ";
$query .= " VALUES ('$id', '$secreto', '$nombre', '$apellidos', '$email', '$esadmin')";
//print $query;
$consulta = new Consulta($query);
if(!$consulta)
throw new Exception("Error al crear el usuario : ".$id);
return $this->recuperarUsuario($id);
}
Espero que te sirva |