1

Flash でユーザー ログイン システムを作成しようとしていますが、そのためには PHP を介して MySQL と通信する必要があります。いくつかのチュートリアルを見回しましたが、エラーが発生しています。

これは、私がcontrolpanel.phpと通信しようとしているフラッシュで作成したインターフェースです。

http://i.imgur.com/JrTWm.png?1

ここにコードがあります

AS ファイル

package actions
{
    import flash.display.MovieClip;
    import flash.events.MouseEvent;
    import flash.net.URLRequest;
    import flash.net.URLVariables;
    import flash.net.URLLoader;
    import flash.events.Event;
    import flash.net.URLLoaderDataFormat;
    import flash.net.URLRequestMethod;
    import flash.text.TextFieldAutoSize;

    public class main extends MovieClip
    {
        public function main():void
        {
            submit_button.buttonMode = true;
            submit_button.addEventListener(MouseEvent.MOUSE_DOWN, checkLogin)

            username.text = "";
            password.text = "";
        }

        public function checkLogin(e:MouseEvent):void
        {
            if(username.text==""||password.text=="")
            {
                if (username.text == "")
                {
                    username.text = "Enter your username";      
                }

                if (password.text == "")
                {
                    password.text="Enter your password";
                }
            }
            else
            {
                processLogin();
            }
        }

        public function processLogin():void
        {
            var phpVars:URLVariables = new URLVariables();
            var phpFileRequest:URLRequest = new URLRequest("http://mathlympics.cu.cc/php/controlpanel.php");
            phpFileRequest.method = URLRequestMethod.POST;
            phpFileRequest.data = phpVars;

            var phpLoader:URLLoader=new URLLoader();
            phpLoader.dataFormat = URLLoaderDataFormat.VARIABLES;

            phpVars.systemCall = "checkLogin";
            phpVars.username = username.text;
            phpVars.password = password.text;

            phpLoader.load(phpFileRequest);
            phpLoader.addEventListener(Event.COMPLETE, showResult);
        }

        public function showResult(event:Event):void
        {
            result_text.autoSize = TextFieldAutoSize.LEFT;
            result_text.text = ""+ event.target.data.systemResult;
        }
    }
}

PHP ファイル - connect.php

<?php
$db_username = "censored";
$db_name = "censored";
$db_password = "censored";
$db_host = "mysql2.000webhost.com";
mysql_connect($db_host,$db_username, $db_password, $db_name);
mysql_select_db($db_name) or die (mysql_error());
?>

PHP ファイル - controlpanel.php

   <?php
error_reporting(E_ALL);
include_once("connect.php");
$username       = "admin";
$password       = "password";
$sql            = "SELECT * FROM user WHERE username='$username' AND password='$password'";
$query          = mysql_query($sql);
$login_counter  = mysql_num_rows($query);
if ($login_counter > 0)
{
    $data       = mysql_fetch_array($query);
    $userbio    = $data["user_bio"];
    echo "systemResult=" . $userbio;
}
else
{
    echo "systemResult=Invalid";    
}
?>

エラーは発生しませんが、送信ボタンを押すと、正しいユーザー名とパスワードを入力しても、結果テキスト ボックスに undefined と表示されます。

<!-- Hosting24 Analytics Code -->
<script type="text/javascript" src="http://stats.hosting24.com/count.php"></script>
<!-- End Of Analytics Code -->

興味のある方へ: これが私のウェブサイトです ここにリンクの説明を入力してください

4

1 に答える 1

1

したがって、問題は、本来SELECT * FROM user...あるべきときにあなたが持っていたということになりましたSELECT * FROM users...=)

于 2012-12-11T22:36:33.693 に答える