Actionscript 2.0, наличие функции SendAndLoad () - PullRequest
0 голосов
/ 10 марта 2010

У меня есть этот код:

btn_jouer.onRelease = function ()
{
    verif = txt_email_user.text;
    if (txt_email_user.text == "")
    {
        txt_erreur.textColor = 16724736;
        txt_erreur.text = "Champ(s) manquant(s)";
    }
    else if (verif.indexOf("@", 0) == -1 || verif.indexOf(".", 0) == -1)
    {
        txt_erreur.textColor = 16724736;
        txt_erreur.text = "Adresse E-mail invalide";
    }
    else
    {
        php_login = new LoadVars();
        php_login.email = txt_email_user.text;
        php_login.sendAndLoad(_root.page_Login, php_login, "POST");
        php_login.onLoad = function(succes)
        {
            if (succes)
            {
        //txt_erreur.text = php_login.etat;
        //return;
                if (php_login.etat == "exist")
                {
                    _root.var_user.id = php_login.id;
                    _root.var_user.nom = php_login.nom;
                    _root.var_user.prenom = php_login.prenom;
                    _root.var_user.score = php_login.score;
                    _root.MovieLogin.unloadMovie();
                    if (_root._root.selectedPhone == "KS360")
                    {
                        _root.gotoAndStop(4);
                    }
                    else
                    {
                        _root.gotoAndStop(3);
                    } // end else if
                }
                else if (php_login.etat == "non")
                {
                    trace (php_login.etat);
                    txt_erreur.text = "Email non enregistré! veuillez vous s'inscrir";
                } // end if
            } // end else if
        };
    } // end else if
};

"page_Login" - это файл login.php на сервере, После отладки файл login.php успешно получил Опубликованные данные, поэтому я получил: $ _POST ['email'] = "что бы вы ни вводили в форме swf";

Файл процессора login.php:

if(isset($_REQUEST['email'])){
    $email = strtolower(addslashes($_REQUEST['email']));
    $DB->_request("select * from gamers where email='$email'");
    if($DB->_nr() > 0) {
        $row = mysql_fetch_array($DB->Result);
        echo "&etat=exist&nom={$row['nom']}&prenom={$row['prenom']}&score={$row['score']}";
        //
        exit;
    }
    else {
        echo "&etat=non";
        exit;
    }
}

Здесь выше, $ DB -> _ nr () всегда возвращает «0», даже если адрес электронной почты существует!

Я попытался создать простую html-страницу, имеющую форму с методом POST, и иметь простой тип ввода текста с именем = "email" Когда я пишу свой адрес электронной почты, который является действительным в базе данных, и нажимаю «отправить», $ DB -> _ nr () возвращает 1.

Это действительно сводит меня с ума, я уверен, что адрес электронной почты существует, страница login.php получает отправленные данные "email = validemail@domain.com" от SendAndLoad (); но mysql_num_rows возвращает 0.

У кого-нибудь была такая же проблема? Любая помощь будет так цениться!

Barry

1 Ответ

0 голосов
/ 10 марта 2010

Используйте следующий код в PHP для сравнения электронной почты в обоих случаях: данные из flash и из HTML-формы:

if(isset($_REQUEST['email'])){
    //createa the testFile.txt and give it attributes with 0777 for permission (in case you are under linux)
    $myFile = "testFile.txt";
    $fh = fopen($myFile, 'a') or die("can't open file");
    fwrite($fh, "-".$_REQUEST['email']."-\r\n");
    fclose($fh);

    $email = strtolower(addslashes($_REQUEST['email']));
    $DB->_request("select * from gamers where email='$email'");
    if($DB->_nr() > 0) {
        $row = mysql_fetch_array($DB->Result);
        echo "&etat=exist&nom={$row['nom']}&prenom={$row['prenom']}&score={$row['score']}";
        //
        exit;
    }
    else {
        echo "&etat=non";
        exit;
    }
}

если вы проверите для обоих случаев, вы сможете сравнить две точные формы. Я поставил «-» спереди и в конце, чтобы посмотреть, есть ли пробелы рядом со значением письма.

Пожалуйста, ответьте с результатом сравнения. спасибо.

...