作者hirabbitt (兔子)
看板Flash
標題[問題] amfphp多個變數的呼叫
時間Tue Mar 29 16:40:58 2011
我是想實做"創新帳號"的功能
flash將帳號密碼丟給php去判斷處理
如果帳號已存在就返回false
反之就幫玩家創造帳號並返回true
flash部份:
stop();
import flash.net.*;
var c1:NetConnection = new NetConnection();
c1.connect('
http://***.***.***.***/amfphp1.9/gateway.php');
var r1:Responder = new Responder(
function(res:Object):void {
trace(res+"ok");
if(res.toString()=="true"){
gotoAndStop(4);
}else{
acc.text="帳號重覆請重新輸入";
pa1.text="";
pa2.text="";
}
},
function(res:Object):void {
trace(res+"ng");
});
cre.addEventListener(MouseEvent.CLICK,
function(E:MouseEvent):void{
c1.call('supernewacc.supernewacc',r1,acc.text,pa1.text) //將帳號密碼傳至php
});
php部份:
<?php
class supernewacc{
function supernewacc($acc="",$pas=""){
//接到從flash傳來的帳號密碼
$conn=mysql_connect("127.0.0.1","***","***");
$dbname="***_***";
$select=mysql_select_db($dbname,$conn);
$result=mysql_query("SELECT * FROM accdata WHERE acc='".$acc."';");
$num=mysql_num_rows($result);
//判斷此帳號是否已經存在
if($num==1){
return false;
}else{
$result=mysql_query("INSERT INTO accdata (`index`,`acc`,`pas`) VALUES
(NULL,'".$acc."','".$pas."');");
return true;
}
}
}
?>
執行結果:
資料庫
index acc pas
1 supernewacc
//不知道為什麼資料庫會多出這一筆資料
2 hirabbitt hirabbitt
flash trace
trueok
//只有一次trace
不知道為什麼明明只呼叫一次
卻新增了兩筆資料
其中一筆還是莫名其妙的值
請幫幫我
謝謝
--
◤ __ \__◣
◢◤◢◤ ψhirabbitt
◢ ◤ ◢███◣
◢███◣
我不是m █████
█████ 我不是s
██
●█
● █▇███
是溫柔 ██
╱╲ ●◥█████◣● 是傲嬌
◥
╱█
╱╱ ● ◥████ ˇ
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 163.13.127.91
※ 編輯: hirabbitt 來自: 163.13.127.91 (03/29 16:42)
1F:→ KawasumiMai:確定sql語法對嗎?直接用php呼叫一次新增動作看看? 03/29 16:56
2F:→ hirabbitt:不懂 php要怎麼呼叫? 03/29 17:37
3F:推 KawasumiMai:直接輸入一次.php?acc= &pas= 看結果如何啊 03/29 17:45
4F:→ KawasumiMai:或是在php內先假定一行$acc="abc"跑一次 03/29 17:46
5F:→ KawasumiMai:不過我對3.0不熟,我不知道為什麼php裡面會有class 03/29 17:47
6F:→ KawasumiMai:照理說呼叫php判斷值之後直接依序執行應該就OK了 03/29 17:49
7F:→ KawasumiMai:之前我是在Flash中宣告一個URLVariables用POST送出去 03/29 17:50
8F:→ KawasumiMai:還沒試過這種直接呼叫php的function並依序傳值的 03/29 17:50
9F:→ hirabbitt:喔喔 我試試看 03/29 17:56
10F:推 KawasumiMai:啊糟糕,是amfphp.... 03/29 17:56
11F:推 KawasumiMai:不好意思我說的方法太老舊了QQ 03/29 17:58
12F:→ KawasumiMai:難怪裡面會需要用到class 03/29 17:59
13F:→ aquarianboy:如果要一次傳多個變數的話,可以試試用JSON格式傳 03/29 18:10
14F:→ aquarianboy:在AS用JSON打包後,PHP有json_decode的東西可以解 03/29 18:10
15F:→ aquarianboy:不過JSON在AS3並不是內建的method,請洽as3corelib 03/29 18:11
16F:→ hirabbitt:JSON和amfphp是兩塊不同的東西? 我研究看看... 03/29 18:13
17F:→ hirabbitt:不過還是希望有amfphp的解決方式 03/29 18:13
18F:→ aquarianboy:是兩件事,但不衝突,JSON只是把你的參數先編成文字之 03/29 20:57
19F:→ aquarianboy:後再傳給AMFPHP,AMFPHP也還是PHP,所以可以用PHP的 03/29 20:57
20F:→ aquarianboy:json_decode來還原你剛編的字串,這跟是不是AMFPHP的 03/29 20:58
21F:→ aquarianboy:解決方式無關的 03/29 20:58
22F:→ Kcars:資料庫的怪資料跟class name一樣 :Q? 03/29 22:23
23F:→ oj113068:對不起ˊˋ我看不懂樓上提的是什麼 03/30 00:02
24F:→ oj113068:囧推錯篇 請無視 03/30 00:03
25F:→ hirabbitt:對! 怪資料跟class name一樣 03/30 18:03
26F:→ sextitanic:講個不相關的事,如果index有設auto_increment 03/30 18:52
27F:→ sextitanic:那就不用特地去 insert 一個 null 的值給它了 03/30 18:52
28F:→ sextitanic:要傳多變數比較冒險的方式你可以直接傳陣列 03/30 18:53
29F:→ sextitanic:不過某次flash一更新之後抓陣列的值就會有問題 XD 03/30 18:53
30F:→ sextitanic:amfphp裡面有個browser可以用那個傳值測試 03/30 18:55
31F:→ sayaku0210:要是我~我會把變數包成Object傳~再到PHP抓物件裡的變數 04/07 16:01
32F:→ hirabbitt:不太懂包成物件的意思 是只自定物件類別嗎? 04/14 10:08
33F:→ hirabbitt:就算flash和php都自訂了 會一樣嗎 04/14 10:08