Hello everybody:
I have a registration form in Flash that sends the data to a PHP file which in turn sends it to a database. The problem is that I have two validation rules for the name (can’t be less than 3 characters) and the email (x@x.x). When I insert the data the PHP file has to check if the rules are complied with and returns a variable (true or false) to Flash in order to display a success or failure message . The thing is that no matter what I do I always get the failure message and the data is not sent to the db. Please have a look at both the PHP and ActionScript code below and let me know what I’m doing wrong with the rules or maybe it’s something else I can’t figure out cause I will have to repaint the wall in my room if I don’t stop banging my head against it…
<?php
$conexion=@mysql_connect(localhost,root,"Mckako01" ) or die (mysql_error());
$select=@mysql_select_db("formulario");
//reglas para validar nombre, email
$valNombre='/^[a-z]{3,}$/i';
$valEmail='/^\w[-.\w]*@([-a-z0-9]+\.)+[a-z]{2,4}$/i';
//recibir variables
$nombre=$_POST['nombre'];
$apellido=$_POST['apellido'];
$direccion=$_POST['direccion'];
$email=$_POST['email'];
$fuente=$_POST['fuente'];
$comentarios=$_POST['comentarios'];
$noticias=$_POST['noticias'];
//insert data only if validation rule is ok
if(preg_match($valNombre,$nombre) && preg_match($valEmail,$email) ){
$insertar="INSERT INTO datos (nombre,apellido,direccion,email,fuente,comentario s,noticias) VALUES ('$nombre','$apellido','$direccion','$email','$fue nte','$comentarios','$noticias')";
$consulta=@mysql_query($insertar);
echo "&exito=true";
}else{
echo "&exito=false";
}
?>
ActionScript:
var enviar:LoadVars = new LoadVars();
enviar.onLoad = function(){
if(this.exito=="true"){
mensajeTxt.text="Sus datos han sido enviados correctamente a nuestra base de datos";
}else{
mensajeTxt.text="Sus datos no han sido enviados";
}
}
enviar.nombre=nameTxt.text;
enviar.apellido=surnameTxt.text;
enviar.direccion=addressTxt.text;
enviar.email=emailTxt.text;
enviar.fuente=myCb.value;
if(myCheckbox.selected){
enviar.noticias=true;
}else{
enviar.noticias=false;
}
enviar.comentarios=commentTxt.text;
enterBtn.onRelease=function(){
enviar.sendAndLoad("insertar.php",enviar,"POST");
}
I really appreciate any help with this.
Txusm