Comunidad de diseño web y desarrollo en internet online

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

Citar            
MensajeEscrito el 14 Mar 2009 06:01 am
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 :

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 tutor de la red, solo modificamos no es codigo propio.

gracias!!!!!!!!!!!!!!!!!!

Por kuky

50 de clabLevel



 

Argentina

msie8
Citar            
MensajeEscrito el 14 Mar 2009 06:08 am
Este es el enlase al tutorial, por si le sirve alguien. :)
http://www.ispetp.rimed.cu/pages/gesetp/sitios/tutoriales/tutoriales/macromedia/flash/ingresodeusuariosenflash.pdf

Por kuky

50 de clabLevel



 

Argentina

msie8
Citar            
MensajeEscrito el 14 Mar 2009 11:45 am
la verdad no se sabe que hace quitar, pero si lo que guardas es el usuario afectdao por el utf8_clean_string pues compara contra el resultado de esa misma funcion

asi:

Código PHP :

$sql = "SELECT user_id FROM foroeinstein3_users WHERE username='".utf8_clean_string(quitar($HTTP_POST_VARS["usuL"]))."'"; 


U_U

Por jpcw

Claber

1715 de clabLevel

1 tutorial

Genero:Masculino  

AlgoritmicBrainDesigner

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.