Foros del Web » Creando para Internet » Flash y Actionscript »

¿Si esta bien en ActionScript esta bien en PHP?

Estas en el tema de ¿Si esta bien en ActionScript esta bien en PHP? en el foro de Flash y Actionscript en Foros del Web. Tengo que trabajar con un codigo php para realizar un registro de usuarios a una base de datos MySQL y estuve repasando el codigo php ...
  #1 (permalink)  
Antiguo 24/12/2005, 14:44
Avatar de -=ArgoN=-  
Fecha de Ingreso: octubre-2005
Ubicación: Barcelona, España
Mensajes: 843
Antigüedad: 12 años, 2 meses
Puntos: 1
Pregunta ¿Si esta bien en ActionScript esta bien en PHP?

Tengo que trabajar con un codigo php para realizar un registro de usuarios a una base de datos MySQL y estuve repasando el codigo php y creo que estaba mal.
Mi pregunta es: ¿Copiando el codigo php y pegandolo en el flash y arreglandolo (quitando los echo y algunas cosas qe flash no acepta) eso si lo vuelvo a guardar como php tiene que funcionar no?

Por si alguien quiere hacerle un repaso al primer codigo y al de despues:

Codigo sin arreglar:

Código PHP:
<?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;
function comprobar_email($email){
$mail_correcto = 0;
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," "))) {
if (substr_count($email,".")>= 1){
$term_dom = substr(strrchr ($email, '
.'),1);
if (strlen($term_dom)>1 && strlen($term_dom)<5 && (!strstr($term_dom,"@")) ){
$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;
else
return 0;
}
$comp_email = quitar($HTTP_POST_VARS["mailL"]);
$i = comprobar_email($comp_email); //llamamos a la función
if ($i != 0){
$sql = "SELECT id FROM usuarios WHERE nick='".quitar($HTTP_POST_VARS["
usuL"])."'";
$result = mysql_query($sql);
if($row = mysql_fetch_array($result)){
echo "&estatus=ocupado&"; //nick ocupado
}
else
{
$sql = "INSERT INTO usuarios (nick, password, email, nombre, ciudad, edad) 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"])."'";
$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
}
?>
Codigo arreglado con el flash:

Código PHP:
<?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;
    function comprobar_email($email) {
        $mail_correcto = 0;
        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, " "))) {
                if (substr_count($email, ".")>=1) {
                    $term_dom = substr(strrchr($email, '
.'), 1);
                    if (strlen($term_dom)>1 && strlen($term_dom)<5 && (!strstr($term_dom, "@"))) {
                        $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;
} else {
    return 0;
}
$comp_email = quitar($HTTP_POST_VARS["mailL"]);
$i = comprobar_email($comp_email);
//llamamos a la función
if ($i != 0) {
    $sql = "SELECT id FROM usuarios WHERE nick='".quitar($HTTP_POST_VARS["
usuL"])."'";
    $result = mysql_query($sql);
    if ($row=mysql_fetch_array($result)) {
        echo "&estatus=ocupado&"; //nick ocupado
    } else {
        $sql = "INSERT INTO usuarios (nick, password, email, nombre, ciudad, edad) 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"])."'";
        $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
}
?>
Me fije en un detalle:
$sql .= "'".quitar($HTTP_POST_VARS["usuL"])."'";
$sql .= ",'".quitar($HTTP_POST_VARS["passL"])."'";

Son dos filas que tendrian que ser parecias pero al principio se diferencian en eso Hay mas linias de esas y todas las otras tienen: ",'"
Tambien faltaban algunas llaves que yo en el flash añadi para que no diera error... He tocado cosas y no se si debi hacerlo

Gracias por vuestra ayuda y tiempo y Feliz NAVIDAD!!

ArgoN

Última edición por -=ArgoN=-; 24/12/2005 a las 14:49
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 22:46.