Foros del Web » Programando para Internet » PHP »

registro usuario-foro y flash...ayuda!!!

Estas en el tema de registro usuario-foro y flash...ayuda!!! en el foro de PHP en Foros del Web. Hola!!! Un compañero y yo estamos haciendo una web en flash y hemos utilizado este sistema de registro. Todo nos ha funcionado correctamente. El problema ...
  #1 (permalink)  
Antiguo 13/03/2009, 23:41
Avatar de kukynet  
Fecha de Ingreso: noviembre-2008
Mensajes: 105
Antigüedad: 15 años, 4 meses
Puntos: 2
registro usuario-foro y flash...ayuda!!!

Hola!!!
Un compañero y yo estamos haciendo una web en flash y hemos utilizado este sistema de registro.
Todo nos ha funcionado correctamente. El problema nos lo encontramos es:
Queremos utilizar la base de datos del foro, asi que hemos cambiado el nombre de las variables para que coincidan con la misma. Lo que nos ocurre es que al registrarnos nos dejaba repetir los nombres de usuario, no tenia en cuenta los que ya estaban registrados en el foro.
Estudiando un poco, hemos visto que la variable "username" (nick en el ejemplo) del foro sufre una "transformacion" a la variable "username_clean" de la siguiente manera:
$username_clean = utf8_clean_string($user_row['username']);
De manera que cuando el foro hace la comprobacion de si el usuario existe, lo compara con la columna "username_clean", no con el "username".
Lo que nosotros queremos es implementar este cambio en el ejemplo para que nos haga lo mismo que en el foro, y que se guarde esta variable username_clean tambien en la base de datos. Como no tenemos muchas nociones de php hemos intentado multitud de combinaciones pero nada.
Muchas gracias !!!
Código:
?php 
include('conexion.php'); //conectamos con la base de datos 
$link = Conectarse(); 
function quitar($mensaje) //elimina símbolos indeseados 
{ 
$mensaje = str_replace("<","&lt;",$mensaje); 
$mensaje = str_replace(">","&gt;",$mensaje); 
$mensaje = str_replace("\'","'",$mensaje); 
$mensaje = str_replace('\"',"&quot;",$mensaje); 
$mensaje = str_replace("\\\\","\",$mensaje); 
return $mensaje; 
} 
//comprobamos con esta función que la dirección de email escrita es correcta 
function comprobar_email($email){ 
$mail_correcto = 0; 
//Hacemos una primera comprobación 
if ((strlen($email) >= 6) && (substr_count($email,"@") == 1) && (substr($email,0,1) != "@") && 
(substr($email,strlen($email)-1,1) != "@")){ 
if ((!strstr($email,"'")) && (!strstr($email,"\"")) && (!strstr($email,"\\")) && (!strstr($email,"\$")) && 
(!strstr($email," "))) { 
//miro si tiene caracter . 
if (substr_count($email,".")>= 1){ 
//obtengo la terminacion del dominio 
$term_dom = substr(strrchr ($email, '.'),1); 
//compruebo que la terminación del dominio sea correcta 
if (strlen($term_dom)>1 && strlen($term_dom)<5 && (!strstr($term_dom,"@")) ){ 
//compruebo que lo de antes del dominio sea correcto 
$antes_dom = substr($email,0,strlen($email) - strlen($term_dom) - 1); 
$caracter_ult = substr($antes_dom,strlen($antes_dom)-1,1); 
if ($caracter_ult != "@" && $caracter_ult != "."){ 
$mail_correcto = 1; 
}}}}} 
if ($mail_correcto) 
return 1; //mail correcto 
else 
return 0; //mail incorrecto 
} 
$comp_email = quitar($HTTP_POST_VARS["mailL"]); 
$i = comprobar_email($comp_email); //llamamos a la función 
if ($i != 0) //si la dirección de email es correcta... 

//EN ESTE PUNTO ES DONDE PENSAMOS QUE DEBEMOS CREAR LA VARIABLE USERNAME_CLEAN, DE MANERA QUE CAMBIA LA CONSULTA SQL DEL USERNAME POR USERNAME_CLEAN 

{ 
$sql = "SELECT user_id FROM foroeinstein3_users WHERE username='".quitar($HTTP_POST_VARS["usuL"])."'"; 
$result = mysql_query($sql); 
if($row = mysql_fetch_array($result)) 
{ 
echo "&estatus=ocupado&"; //nick ocupado 
} 
else 
{ 
//insertamos los datos en nuestra base de datos 
$sql = "INSERT INTO foroeinstein3_users (username, user_password, user_email, user_firstname, user_country, user_age) VALUES ("; 
$sql .= "'".quitar($HTTP_POST_VARS["usuL"])."'"; 
$sql .= ",'".quitar($HTTP_POST_VARS["passL"])."'"; 
$sql .= ",'".quitar($HTTP_POST_VARS["mailL"])."'"; 
$sql .= ",'".quitar($HTTP_POST_VARS["nombreL"])."'"; 
$sql .= ",'".quitar($HTTP_POST_VARS["ciudadL"])."'"; 
//REGISTRO E INGRESO DE USUARIOS FLASH 

$sql .= ",'".quitar($HTTP_POST_VARS["edadL"])."'"; 
$sql .= ")"; 
mysql_query($sql); 
echo "&estatus=ok&"; //registro exitoso 
} 
mysql_free_result($result); 
mysql_close(); 
} 
else 
{ 
echo "&estatus=nomail&"; //mail incorrecto 
} 
?>

nota: fue hecho con un tutor de la red, no escodigo propio solo modificado.

Última edición por kukynet; 13/03/2009 a las 23:51
  #2 (permalink)  
Antiguo 13/03/2009, 23:52
Avatar de kukynet  
Fecha de Ingreso: noviembre-2008
Mensajes: 105
Antigüedad: 15 años, 4 meses
Puntos: 2
Respuesta: registro usuario-foro y flash...ayuda!!!

el flash

Código:
enviar = function () { 
    if (usu.text.length) { 
        //comprobamos que el nombre de usuario no este vacío 
        if (pass.text.length) { 
            //Comprobamos que la contraseña no este vacía 
            if (mail.text.length) { 
                //Comprobamos que la dirección de e-mail no este vacía 
                //Preparamos las variables que enviaremos al php 
                form_lv = new LoadVars(); 
                form_lv.usuL = usu.text; 
                form_lv.passL = pass.text; 
                form_lv.mailL = mail.text; 
                form_lv.nombreL = nombre.text; 
                form_lv.ciudadL = ciudad.text; 
                form_lv.edadL = edad.text; 
                proces.text = "procesando datos..."; 
                //Enviamos las variables a registrar.php 
                form_lv.sendAndLoad("registrar.php", form_lv, "POST"); 
                //escribe URL real de 
                //Recibimos y manejamos las variables que vienen de registrar.php 
                form_lv.onLoad = function() { 
                    if (this.estatus == "ocupado") { 
                        proces.text = ""; 
                        usu.text = ""; 
                        gotoAndStop(20); 
                        //Alerta: Nick ocupado 
                    } 
                    if (this.estatus == "nomail") { 
                        proces.text = ""; 
                        mail.text = ""; 
                        gotoAndStop(25); 
                        //Alerta: e-mail icorrecto 
                    } 
                    if (this.estatus == "ok") { 
                        proces.text = "Registrado con exito!"; 
                        usuvar = usu.text; 
                        mailvar = mail.text; 
                        nombrevar = nombre.text; 
                        ciudadvar = ciudad.text; 
                        edadvar = edad.text; 
                        usu.text = ""; 
                        mail.text = ""; 
                        nombre.text = ""; 
                        ciudad.text = ""; 
                        edad.text = ""; 
                        //gotoAndStop(130); 
                        gotoAndPlay(31); 
                        //Ingreso exitoso 
                    } 
                    if (this.estatus != "ocupado" && this.estatus != "nomail" && this.estatus != "ok") { 
                        proces.text = ""; 
                        gotoAndStop(30); 
                        //Alerta: problemas con el servidor 
                    } 
                }; 
            } else { 
                //Alertas de campos vacíos 
                gotoAndStop(5); 
                //campo mail vacío 
            } 
        } else { 
            gotoAndStop(10); 
            //campo contraseña vacío 
        } 
    } else { 
        gotoAndStop(15); 
        //campo nombre de usuario vacío 
    } 
}; 
enviar_btn.onRelease = enviar; 
stop(); 
usu2.text = usuvar; 
mail2.text = mailvar; 
nombre2.text = nombrevar; 
ciudad2.text = ciudadvar; 
edad2.text = edadvar; 

//para loguiarse 
registro.onRelease = function() { 
    _parent._parent.registri.play(); 
    _parent._parent.alReves(); 
    _parent._parent.alReves6(); 
    unloadMovieNum(100); 
    //loadMovieNum("registro.swf", 4);esto es lo de antes 
    //con esta linea pongo a pantalla comun para poder registrarse 
    //Stage["displayState"] = (Stage["displayState"] == "normal") ? "fullScreen" : "normal"; 
}; 
enviar = function () { 
    if (usu.text.length) { 
        //comprobamos si el campo de texto usu no esta vacio 
        if (pass.text.length) { 
            //comprobamos si el campo de texto pass no esta vacío 
            //preparamos variables 
            form_lv = new LoadVars(); 
            form_lv.usu = usu.text; 
            form_lv.pass = pass.text; 
            proces.text = "procesando datos..."; 
            //enviamos variables a ingresar.php 
            form_lv.sendAndLoad("ingresar.php", form_lv, "POST"); 
            //inserta la URL real de tu ingresar.php 
            form_lv.onLoad = function() { 
                //analizamos la variable devuelta por ingresar.php 
                if (this.estatus == "pass") { 
                    proces.text = ""; 
                    gotoAndStop(5); 
                    //contraseña incorrecta 
                } 
                if (this.estatus == "nousu") { 
                    proces.text = ""; 
                    usu.text = ""; 
                    pass.text = ""; 
                    gotoAndStop(10); 
                    // usuario no existente en la bd 
                } 
                if (this.estatus == "ok") { 
                    proces.text = "Ingreso exitoso!"; 
                    //direccionamos a la zona privada 
                    _parent._parent.registrouno.gotoAndStop(1); 
                    _parent._parent.registro.play(); 
                    _parent._parent.registro.reg2.usuarios.text=form_lv.usu; 
                    //getURL("direccionWeb", "_self"); 
                    //inserta la URL real de tu privado.swf 
                } 
                if (this.estatus != "pass" && this.estatus != "nousu" && this.estatus != "ok") { 
                    proces.text = ""; 
                    gotoAndStop(15); 
                    //problemas con el servidor 
                } 
            }; 
        } else { 
            gotoAndStop(25); 
        } 
    } else { 
        usu.text = "falta nombre "; 
    } 
}; 
enviar_btn2.onRelease = enviar; 
stop(); 
usu.onSetFocus = function() { 
    usu.text = ""; 
}; 
pass.onSetFocus = function() { 
    pass.text = ""; 
}; 
rec_mail.onSetFocus = function() { 
    rec_mail.text = ""; 
}; 
enviar = function () { 
    if (rec_mail.text.length) { 
        //Comprobamos si el campo rec_mail esta vacío 
        //creamos variables 
        form_lv = new LoadVars(); 
        form_lv.mail = rec_mail.text; 
        //enviamos variables a pass.php 
        form_lv.sendAndLoad("pass.php", form_lv, "POST"); 
        //escribe URL real de pass.php 
        rec_mail.text = "Enviando datos..."; 
        form_lv.onLoad = function() { 
            //comprobamos variable devuelta 
            if (this.estatus == "ok") { 
                rec_mail.text = "Datos enviados correctamente."; 
            } 
            if (this.estatus == "pass") { 
                rec_mail.text = "Email incorrecto."; 
            } 
            if (this.estatus != "pass" && this.estatus != "ok") { 
                rec_mail.text = "Problemas con el servidor."; 
            } 
        }; 
    } else { 
        rec_mail.text = "Inserta tu email"; 
    } 
}; 
mailbut.onRelease = enviar; 
stop();
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 20:34.