kann flash mysql-dbs anQueryen?

digleu

New member
Jo meine Frage ist, ob Flash eine Schnittstelle für mysql-Datenbanken hat. Wenn nicht was müsste man tun um mit Flash auf irgendeine einen Chat umzusetzen?

thx im Voraus digleu
 
in Flash eine PHP datei aufrufen ?? hä ? also ich will, dass das der Chatbereich im Flash-Movie ständig die neuen "posts" aus der DB enthält....
 
Ich kenn mich mit Flash nicht aus aber ich weiss, dass Flash eine Schnittstelle für PHP-Dateien hat.

Ich hab mal so ein Chat heruntergeladen! Soll ich mal senden..
 
du musst ihn natürlich auch auf nem php fähigen webserver laufen lassen ne ... also ich versuch das file gleich mal zu öffnen und friemel dann mal die relevanten code schnippsel raus ... erstmal flash installieren ... *ätz* ;)

mfg digleu
 
natürlich habe ich zuhause nen webserver installiert!! aber nach dem einloggen passiert einfach nichts, alle felder bleiben leer... auch in die chat.txt und login.txt wird nichts reingeschrieben, obwohl sie nicht schreibgeschützt sind! sonstige scripte laufen ohne probleme.
 
ich habe das ganze mal angeschaut, werde aber nicht schlau daraus... (wie flash und php zusammen arbeiten)
hier ein paar codeschnipsel:
Code:
[COLOR=red]//login-schalter[/COLOR] 
on (release, keyPress "<Enter>") {
	loadVariablesNum("login.php", 0, "POST");
	if (nickname eq "") {
		nick = "Nickname - Bitte !";
		gotoAndStop(1);
	} else {
		nick = "";
		play();
	}
}

[COLOR=red]//senden-schalter[/COLOR] 
on (release, keyPress "<Enter>") {
	if (message ne "") {
		if (schreiben == 1) {
			loadVariablesNum("chat.php", 0, "POST");
			message = "";
			schreiben = 0;
			start = getTimer()+1000*wZeit;
		} else {
			warnung = "ANTI-FLOODING";
		}
	}
	Selection.setFocus("message");
}

[COLOR=red]//logout-schalter[/COLOR] 
on (release) {
	loadVariablesNum("logout.php", 0, "POST");
	gotoAndStop(1);
}

[COLOR=red]//uhrzeit-anzeige (ist ansich nicht relevant)[/COLOR] 
onClipEvent (load) {
	tage = new Array('Sonntag','Montag','Dienstag','Mittwoch','Donnerstag','Freitag','Samstag');
	monate = new Array('Januar','Februar','März','Apil','Mai','Juni','Juli','August','September','Oktober','November','Dezember');
	zeit = new Date();
}
onClipEvent (enterFrame) {
	stunde = zeit.getHours();
	minute = zeit.getMinutes();
	sekunde = zeit.getSeconds();
	tagZahl = zeit.getDate();
	tag = zeit.getDay();
	aktTag = tage[tag];
	monat = zeit.getMonth();
	aktMonat = monate[monat];
	jahr = zeit.getFullYear();
	if (Length(stunde)==1) {
		stunde = "0" + stunde;
	}
	if (Length(minute)==1) {
		minute = "0" + minute;
	}
	if (Length(sekunde)==1) {
		sekunde = "0" + sekunde;
	}
	datum = aktTag + " " + tagZahl + " " + aktMonat + " " + jahr + " - " +stunde + ":" + minute + ":" + sekunde;
    delete zeit;
	zeit = new Date();
}

[COLOR=red]//1. kreis links oben[/COLOR] 
onClipEvent (load) {
	lZeit = 20;
	lStart = getTimer()+1000*lZeit;
}
onClipEvent (enterFrame) {
	Zeit = int((lStart-getTimer())/1000);
	if (Zeit<="0") {
		loadVariablesNum("login.php", 0, "GET");
		lStart = getTimer()+1000*lZeit;
	}
}

[COLOR=red]//2. kreis links oben[/COLOR] 
onClipEvent (load) {
	aZeit = 15;
	aStart = getTimer()+1000*1;
}
onClipEvent (enterFrame) {
	Zeit = int((aStart-getTimer())/1000);
	if (Zeit<="0") {
		loadVariablesNum("chat.php", 0, "GET");
		aStart = getTimer()+1000*aZeit;
	}
}

[COLOR=red]//3. kreis links oben[/COLOR] 
onClipEvent (load) {
	_root.start = getTimer()+1000*1;
	_root.schreiben = 1;
}
onClipEvent (enterFrame) {
	Zeit = int((_root.start-getTimer())/1000);
	if (Zeit<="0") {
		_root.warnung = "";
		_root.schreiben = 1;
	}
}
aus den drei kreisen werde ich nicht schlau..
sorry für den langen post, aber jetzt ist es einigermassen übersichtlich :)
 
ich entschuldige mich im Voraus für den langen Post ;)
des weitern gillt es jetzt die Dateien zu untersuchen, die ja im ActionScript Code aufgerufen werden:
login.php
PHP:
<?
// Header-Teil
// ich glaube das alles bedeutet soviel wie, dass hier nichts richtig gecached wird... damit der Chat nich von gestern is ...
header("Expires: ".gmdate("D, d M Y H:i:s")."GMT");
header("Cache-Control: no-cache, must-revalidate");
header("Pragma: no-cache");

// Nickname, Sonderzeichen etc. rausfiltern
$nickname = ereg_replace("[^A-Za-z0-9 \ü\ö\ä\Ü\Ö\Ä\ß\@\.\-\/\'\_]", "", $nickname);
$nickname = stripslashes ($nickname);

// sieht aus wie ein Teil einer URL
echo "&login=";
// aktuelles dateum mit Zeit
$date = date( "[H:i - d/M/Y]");
// Einstellungen
$chat_file = "login.txt";
$chat_lenght = 30;
$max_single_msg_lenght = 5000;
$max_file_size = $chat_lenght * $max_single_msg_lenght;
$file_size= filesize($chat_file);
// wenn die datei ihre maximale größe überstiegen hat (bei jedem Login wird das wohl bereinigt)
if ($file_size > $max_file_size) {
   // Dateiinhalt in Array speichern
   $lines = file($chat_file);
   // größer der Array bestimmen
   $a = count($lines);
   // diese größe von maximaler anzahl abziehen
   $u = $a - $chat_lenght;
   // vor $msg_old wird ständig lines gesetzt jedoch nur solange der zähler größer-gleich $u ist mit dem startwert $a und herabzählend
   for($i = $a; $i >= $u ;$i--) {
      $msg_old =  $lines[$i] . $msg_old;
   }
   // Datei wird gelöscht
   $deleted = unlink($chat_file);
   // Datei wird wieder erstellt und mit $msg_old gefüllt
   $fp = fopen($chat_file, "a+");
   $fw = fwrite($fp, $msg_old);
   fclose($fp);
}
if ($nickname != "") {
   // User hat den Raum betreten Nachricht in das Chatfenster geben
   $fp = fopen($chat_file, "a+");
   $fw = fwrite($fp, "<font size='6' color='#FF5500'>Betreten - $date</font>\n<a href='http://$mail' target='_blank'>$nickname</a>\n");
   fclose($fp);
}
// Chatfile ganz auslesen und ausgeben
$lines = file($chat_file);
$a = count($lines);
$u = $a - $chat_lenght;
for($i = $a; $i >= $u ;$i--) {
   echo $lines[$i];
}
?>

chat.php kommt dann später
logout.php lasse ich jetzt erstmal weg, spielt vielleicht später
eine ergänzende Rolle...

hmm aber ich hab noch Probleme die Verbindung zwischen dem Flash Movie und dem PHP-File herzustellen ... die Stellen im AS-Code sind mir klar aber nicht wie man sie verstehen kann ...

mfg digleu
 
Zuletzt bearbeitet:
PHP:
// sieht aus wie ein Teil einer URL
echo "&login=";
dies scheint die variablen definition für flash zu sein, der inhalt kommt ins rechte textarea. dort steht im eigenschaftenfenster: "var: login"
 
Zurück
Oben