連携

2009年06月22日

こんばんは、コレエダです。開発メモ、前回の続きです。PHPからMySQLの接続やら何やら。

・PHPからMySQLに接続、SQL発行、結果を表示

-----LoginCheck.php-----

<?php

//ASから変数を受け取る
$id = $_POST['id'];
$pass = $_POST['pass'];

//DB名、ホスト、ID、パスワードを設定
$db_name = "user_db";
$db_host = "localhost";
$db_user = "root";
$db_pass = "root";

//ホスト、ID、PASSで接続。接続IDが返ってきます
$db = mysql_connect($db_host, $db_user, $db_pass);

//DB名と接続IDで、指定DBに接続
$conn = mysql_select_db($db_name, $db);

//SQL文。セキュリティ的に問題ありです。
$str_sql = "select count(*) from user_info
                where user_id= '{$id}' and password = '{$pass}'";

//SQL文発行
$data = mysql_query($str_sql, $db);

//リソースIDが返ってくるため、以下の関数で結果を取得
$result = mysql_fetch_array($data);

//$resultは配列で取得されるので0番目を指定
echo "result=".$result[0]."---";

 ?>

あとは結果が1以上だったらログインOKとか。
あ、SQLインジェクションの脆弱性対策については、機会があればこのブログで紹介します。

koreedablog at 22:18コメント(0)トラックバック(0) 

2009年06月21日

こんばんは、コレエダです。すいませんが完璧に開発メモです。ActionScript 3.0とPHP 5.2 とMySQL 5.0の連携やら何やらです。誰かの役にも立てたらうれしいです。


・ActionScript3.0とPHPの連携

-----Login.as-----
//こんな感じでFLASHのテキストフィールドから値を取得
var user_id = user_id.text;
var password = password.text;

System.useCodePage = true;

//PHPファイルのURLを指定する。
var request:URLRequest = new URLRequest(
    "http://localhost/LoginCheck.php");

//PHPへPOST送信
request.method = URLRequestMethod.POST;

var variables:URLVariables = new URLVariables();

//送信する変数
variables.id = user_id;
variables.pass = password;
request.data = variables;

var loader:URLLoader = new URLLoader();
loader.dataFormat = URLLoaderDataFormat.VARIABLES;
               
//データを送った後、値を受け取る際に使用
loader.addEventListener(Event.COMPLETE, onComplete);
//loadで変数を送る
loader.load(request);

    function onComplete(event:Event):void{
        //戻り値を変数に格納
        var vars:URLVariables = new URLVariables(
event.target.data);
        trace("phpからの戻り--id:" + vars.user_id);
        trace("phpからの戻り--pass:" + vars.password);
     }

----LoginCheck.php----
<?php

//ASから変数を受け取る
$id = $_POST['id'];
$pass = $_POST['pass'];

//MySQLとの連携処理
//ここの記述は次回にまわします。
//今回は何の処理もせず、ActionScriptにそのまま値を返します。

//Flashで変数を取得できるようにする
echo "user_id=".$id;
echo "&password=".$pass;

?>

大事なのはechoのダブルクォーテーションの中。
キーになるものは&で区切ります。GETで返しているようなので。
ほんとはPOSTで返す方法があるかもしれません。
PHPはほぼ書くの初めてなんで、ぶっちゃけよくわかっていません。
なにかありましたらコメント、メッセージ頂けると助かります。




koreedablog at 22:35コメント(0) 
livedoor プロフィール

koreedablog

記事検索