Antwort von PHP

Brothers

Mitglied
hi habe ein script das per post an php sendet, php prüft aus der mysql... nun möcht ich den kram aus der datenbank wieder in flash benutzen... aber wie?

code bis jetz:

as code:
Code:
login_button.onRelease = function(){
	var lv_2 = new LoadVars();
	lv_2.login_eingabe = login_eingabe.text;
	lv_2.login_pw = login_pw.text;
	checking = true;
	lv_2.sendAndLoad("login.php", lv_2, "POST");
}


php code:
PHP:
$login_eingabe = $_POST["login_eingabe"];
$login_pw = $_POST["login_pw"];

//user_namen aus user prüfen	
$db_abfrage = "SELECT * FROM user";
$db_ergebnis = mysql_query($db_abfrage);
$name_array = array();
while ($row = mysql_fetch_array($db_ergebnis)){
	$row_temp = $row['name'];
	array_push($name_array, $row_temp);
}
if (in_array($login_eingabe, $name_array)) {							
	//passwort aus user_temp prüfen	
	$db_abfrage = ("SELECT passwort FROM user WHERE name ='$login_eingabe'");
	$db_ergebnis = mysql_query($db_abfrage);
	$row = mysql_fetch_object($db_ergebnis);
	$user_pw_mysql = $row->passwort;
}

if ($user_pw_mysql == $login_pw){
	echo "login=".$login_eingabe." - true";
}else{
	echo "login=".$login_eingabe." - false";
}
 
Naja, du deklarierst kein result LoadVars Object welches das Resultat aus dem sendAndLoad Ergebnis auffangen soll.

Ansatz:
PHP:
// Neues LoadVars Objekt das die Resultate aufnehmen soll
var resultLv = new LoadVars();

...
// Dein sendAndLoad ändern
lv_2.sendAndLoad("login.php", resultLv, "POST");
...


// Beim onload die geladenen variablen abrufen
resultLv.onLoad =  function(success:Boolean) {
	if (success) {
		trace(this.login)
	} else {
 		trace("Error connecting to server.");
	}
};
 
naja das ist ja weniger ne variable... das ist ja einfach ausgegebener text...

also holt flash sich alles zurück was auf der php ausgegeben wird?
 
hmm...

irgentwie ist der wurm drin

as2 code:
Code:
login_fenster.login_button.onRelease = function(){
	var lv_2 = new LoadVars();
	lv_2.login_eingabe = login_eingabe.text;
	lv_2.login_pw = login_pw.text;
	checking = true;
	if(login_eingabe.text != "" or login_pw.text != ""){
		lv_2.sendAndLoad("login.php", resultLv, "POST");
	}
}

var resultLv = new LoadVars();
resultLv.onLoad = function(success:Boolean) {
	if (success) {
		_root.test_textfeld.text = login;
	} else {
		_root.test_textfeld.text = "Error connecting to server.";
	}
}


phpcode unverändert...
 
Trace mal diese Stelle aus:
PHP:
if(login_eingabe.text != "" or login_pw.text != ""){
               trace("Werte sind korrekt");
		lv_2.sendAndLoad("login.php", resultLv, "POST");
	}

Wenn nichts ausgetraced wird dann liegt das Problem genau in deiner If abfrage.
 
hab das if ma weggenommen... trace geht ja im html eigebetteten nicht... und wenn ich mit send anstatt sendAndLoad sende, übergibt flash die variablen auch an php(hab sie mir in php ausgeben lassen)

wenn ich mir in flash die variable "login" ausgeben lasse ist die undefined

das muss am zurückgeben von php zu flash liegen
 
nd wenn ich mit send anstatt sendAndLoad sende, übergibt flash die variablen auch an php(hab sie mir in php ausgeben lassen)

wenn ich mir in flash die variable "login" ausgeben lasse ist die undefined
Logisch , - mit send läd Flash auch nichts aus PHP daher undefined.

Kommt den in flash was heraus wenn du zb echo "login=foo"; statisch in dein PHP skript schreibst (sendAndLoad nicht vergessen). Wenn Flash 'foo' ausgibt dann funktioniert der response und dein PHP skript ist demnach nicht korrekt.
 
Zuletzt bearbeitet:
Zurück