ich habe so etwas ähnliches gemacht, nur dass ich mir die daten als Array ausgeben lasse. Vielleicht hilft dir das ja. So hat es von anfang an gut geklappt.
PHP-Code:
/*
* NetConnection herstellen
*/
private function einloggen() : void {
//verbinden mit amfphp
netConnection = new NetConnection();
netConnection.addEventListener(NetStatusEvent.NET_STATUS, onStatus);
netConnection.connect(gatewayUrl);
Main.statusAnzeige.status_txt.text = "";
callLogin();
}
/*
* senden an PHP
*/
private function callLogin() : void {
var responder : Responder = new Responder(logonResult, logonFault);
netConnection.call("user.Login.logon", responder, loginname.text, passwort.text);
}
private function onStatus(event : NetStatusEvent) : void {
trace ("konnte nicht verbinden");
}
/*
* rueckgabe von php
*/
private function logonResult (data:Array):void {
Main.BENUTZERDATEN = data;
// zuruecksetzen der Eingabefelder
loginname.text = "";
passwort.text = "";
}
/*
* Fehlerausgabe
*/
private function logonFault (data:Object):void {
trace (data);
for (var key : String in data){
var value : * = data [key];
trace (key + " = " + value);
}
}
und das php lädt bei mir halt eine mysql datenbank aus aber sonst ist alles gleich. wie du siehst habe ich den Fehlermeldung auch in den Arry gepackt, weil sonst die Typsicherheit eine Fehlermeldung bringt, aber so kann ich soviele daten übermitteln wie ich will.
PHP-Code:
<?php
class Login
{
function logon($loginname, $pwd)
{
$db = mysqli_connect ("host", "user", "password", "database");
if(!$db){
return 'error beim verbinden';
}
else{
$loginname = mysqli_real_escape_string($db, $loginname);
$pwd = md5(mysqli_real_escape_string($db, $pwd));
}
$sql = "SELECT loginname, pwd1 FROM tbl_registrierung WHERE loginname ='$loginname' AND pwd1 ='$pwd'";
$senden = mysqli_query($db, $sql);
if(mysqli_num_rows($senden) == 1){
$abfrage = "SELECT * FROM tbl_registrierung WHERE loginname ='$loginname'";
$benutzerDaten = mysqli_fetch_array(mysqli_query($db, $abfrage));
return $benutzerDaten;
}
else {
$fehlermeldung [0] = 'falscher Benutzername oder falsches Passwort';
return $fehlermeldung;
}
}
}
?>