2014-04-23 2 views
0

안녕하세요, 저는 플렉스에 대해 잘 모릅니다. 아래 붙여 넣은 코드는 Cirrus 샘플 응용 프로그램 (RTMFP)에서 가져온 것입니다.PHP 변수를 FLEX에 전달하고 그 변수를 스크립트에서 Nick으로 적용

PHP 변수 $ user-> data [ 'username'];이 (가) 있습니다. 이 이름을 사용자 이름으로 설정해야합니다. 누군가가이 변수를 FLEX 코드에 전달하고 선택하여 사용자 이름을 직접 입력 한 다음 연결을 클릭하는 것보다 도와 줄 수 있습니까?

는 내가 첫 번째 부분은 알아 낸 것 같아 : 나는 이름 필드에 전달하는 방법에 대한 단서 그리고 난 FLEX를 모르는 이후는 자동 연결이

<!-- saved from url=(0014)about:internet --> 
<html lang="en"> 
<head> 
<?php 
    @ $Name = $user->data['username']; 
?> 
<script type="text/javascript" src="swfobject.js"></script> 
<script type="text/javascript"> 
    var swfVersionStr = ""; 
    var xiSwfUrlStr = ""; 
    var flashvars = {}; 
    flashvars.Name = "<?php echo $Name; ?>" 
    var params = {}; 
    params.quality = "high"; 
    params.bgcolor = "#ffffff"; 
    params.allowscriptaccess = "sameDomain"; 
    var attributes = {}; 
    attributes.id = "FlashVarTest"; 
    attributes.name = "FlashVarTest"; 
    attributes.align = "middle"; 
    swfobject.embedSWF( 
     "FlashVarTest.swf", "flashContent", 
     "100%", "100%", 
     swfVersionStr, xiSwfUrlStr, 
     flashvars, params, attributes); 
    swfobject.createCSS("#flashContent", "display:block;text-align:left;"); 
</script> 
</head> 
<body > 
    <div id="flashContent"> 
</body> 
</html> 

. 소스에 유래 너무 깁니다 http://pastebin.com/b0sFySYs

<!-- Login pane --> 
      <s:HGroup includeIn="LoginNotConnected" verticalAlign="middle"> 
        <s:Label text="User Name: " color="0xffffff"/> 
        <s:TextInput id="userNameInput" width="80" enter="onConnect()"/> 
        <s:Button label="CONNECT" click="onConnect()" enabled="{userNameInput.text.length > 0}" styleName="buttonStyle"/> 
      </s:HGroup> 
      <s:HGroup includeIn="LoginConnecting" verticalAlign="middle"> 
        <s:Label text="Connecting to {connectUrl}" color="0xffffff"/> 
        <s:Button label="CANCEL" click="onDisconnect()" styleName="buttonStyle"/> 
      </s:HGroup> 
      <s:HGroup includeIn="LoginConnected, CallReady, CallCalling, CallRinging, CallEstablished, CallFailed" verticalAlign="middle"> 
        <s:Label text="Connected as {userNameInput.text}" color="0xffffff"/> 
        <s:Button label="DISCONNECT" click="onDisconnect()" styleName="buttonStyle"/> 
      </s:HGroup> 
      <s:HGroup includeIn="LoginDisconnecting"> 
        <s:Label text="Disconnecting from {connectUrl}" color="0xffffff"/> 
      </s:HGroup> 

답변

0

은 무엇 당신이해야 할 것은 당신이 당신의 플렉스 응용 프로그램의 소스 코드를 생성하는 순간 플렉스 PHP에서 사용자/별명을 보낼 수 있습니다. 그것은 flashVars를 통해 할 수 있습니다.

그런 다음 init() 함수에서 해당 변수가 제공되었는지 확인해야합니다. 그렇다면 username.input.text을 제공된 값으로 설정하고 onConnect()을 init 함수에서 직접 호출하십시오.

은 약간의 flex (Actionscript)를 배워야합니다. Stackoverflow는 '제발이 사이트에 코드를 작성해주십시오.'...

+0

예 이해하고 존중합니다. 나는 단지 무작위로 친절을 베풀기를 바랐다. – user3561247

+0

첫 번째 부분을 완료했음을 알았습니다. 그러나 나는 PHP 태그에서 무엇이 @ 그리고 PHP 사용자가 어디에서 왔는지 궁금해. 조금이라도 잘라내 셨나요? 당신이 적어도 당신의 페이지 소스를보고 usename이 실제로 반향되고 있는지 확인한다면 그것은 괜찮습니다. 팁 :'' "'을''(따옴표없이) 적절한 js 이스케이프. –

+0

이제는 .as 파일에서'init()'함수를 편집해야합니다. (그리고 나중에 .swf를 다시 컴파일 할 필요가 있다는 것을 잊지 마라. 당신은 알고 있겠지?) init 함수가 flashVars를 읽고'Name '이 주어 졌는지 확인한다. 그렇다면'username.input.text'에 넣고'onConnect()'를 호출하십시오. –