2010-03-10 4 views
0

У меня есть этот код:Actionscript 2.0, имея функцию SendAndLoad() Выпуск

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 -> _ лг() всегда возвращает "0" даже адрес электронной почты, существует!

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

Это действительно сводит меня с ума, я уверен, что адрес электронной почты существует, страница login.php получает опубликованные данные «email = [email protected]» из SendAndLoad() ; но mysql_num_rows возвращает 0.

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

Барри,

ответ

0

Используйте следующий код в PHP для сравнения электронной почты в обоих случаях: дается от вспышки и от 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; 
    } 
} 

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

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

Смежные вопросы