PHP Flex giriş ve çıkış

5 Cevap php

Ben PHP flex giriş değerini yazdırmak istiyoruz.

My Flex Code...

<mx:HTTPService id="sendReq" result="google(event)" showBusyCursor="true" method="POST" url="http://localhost/search/index.php" useProxy="false">
    	<mx:request xmlns="">
    		<keyword>
    			{keyword.text}
    		</keyword>
    	</mx:request>
    </mx:HTTPService>

    <mx:TextInput text="" id="keyword" left="130.5" top="89" right="228.5" height="40" fontSize="20" fontWeight="bold" borderStyle="outset" focusThickness="0"/>

    <mx:Button click="sendReq.send();" id="search" label="search"  right="133.5" top="91" height="40" width="75" alpha="1.0" fillAlphas="[1.0, 1.0]"/>

My PHP code,

$keyword = $_POST['keyword'];
echo $keyword;

Ama Flex anahtar kelimeyi almak mümkün değilim. Herkes i almak mümkün değilim ki burada hata bulabilirsiniz.

5 Cevap

Ben bu sorunu çözmek için vaktim yok, ama burada hata ayıklama bazı tavsiyem:

Öncelikle, ben senin HTTPRequest için açılış etiketinde şeyi iz olacaktır.

<mx:HTTPService id             = "sendReq" 
                result         = "trace( event )" 
                fault          = "trace( event )" 
                showBusyCursor = "true" 
                method         = "POST" 
                url            = "http://localhost/search/index.php"
                useProxy       = "false">

İsteğiniz ile yanlış bir şey varsa, o bilmenin hiçbir yolu yoktur - isteğiniz hiçbir hata işleyicisi var!

PHP tarafında, böyle bir uygulama hata ayıklamak için en iyi yolu bazı günlük sistemi ile.

Burada oldukça genel bir günlük işlevi:

define( 'PATH_TO_LOG_FOLDER', "../Logs" );

public function log( $message ){
    $logFileName = "log";
	if(!$fp = @fopen(PATH_TO_LOG_FOLDER. DIRECTORY_SEPARATOR . 
			 $logFileName .date('Y-m-d').".log", 'a+')){
		return FALSE;
	}

	flock(  $fp, LOCK_EX  );	
	fwrite( $fp, $message );
	flock(  $fp, LOCK_UN  );
	fclose( $fp );
}

http://localhost/search/index.php çağrısı üzerine

$message = "";
for( $_REQUEST as $key => $val )
{
    $message .= "$key = $val\n";
}
log( $message );

Eğer FireBug kullanarak denediniz mi? Bu esnek istemci ve sunucu arasındaki bağlantı geliyor ve tam olarak ne oluyor size gösterebilirim bir firefox eklentisi bulunuyor.

İsteğiniz php script (yani komut başlatılmasıyla ilgili bir dize günlük) ulaşırsa edin. Script geliyor ne görmek için:

print_r(getallheaders());
print_r($HTTP_RAW_POST_DATA);
print_r($_POST);

Üzgünüz, esnek yardımcı olamaz: (.

Ben emin işlem çalışma send-yarısını yapmak için bir dosyaya giriş ve e-postaları size veya günlükleri kabul eden bir php script yazarak başlamak istiyorum; O çalıştığından emin sonra bir kez, beklenen sonuç döndürülür doğrulayarak geçmek.

Ben HTTPService kullandım zaman Geçmişte yöntem parametre set ettik (varsayılan 'almak' olduğunu)

Yani böyle bir şey kullandım

<mx:HTTPService id="myCall" 
    url="{'somephp.php'}"
    result="resultHandler(event)" 
    fault="faultHandler(event)"
    showBusyCursor="false" 
    resultFormat="e4x"> 
    <mx:request>
    	<somethingToSend>post data inside here</somethingToSend>
        <time>{new Date().getTime()}</time>
    </mx:request>
</mx:HTTPService>

Sonra php içimde olurdu

$ SomeVarThatsjustComeThrough = $ _REQUEST ["somethingToSend"];

Ne olursa olsun php kullanarak geri echo, bir XML formatında geri echo eğer. Onunla başa çıkmak için esnek yan işinizi çok daha kolay hale getirecek.

Her zaman zaman koymak, potansiyel php çağrı önbelleğe IE durur.