Ver Mensaje Individual
  #1 (permalink)  
Antiguo 13/03/2009, 23:41
Avatar de kukynet
kukynet
 
Fecha de Ingreso: noviembre-2008
Mensajes: 105
Antigüedad: 15 años, 5 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