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