Hi,
ich bin gerade dabei, einen Chat in Flash / PHP zu erstellen.
Auf der Hauptbühne in Bild 1 habe ich folgende Komponenten:
1 dynamisches Textfeld zur Ausgabe des Textes -> Variable 'ausgabe_str'
1 dynamischen Textfeld zur Eingabe -> Variable 'eingabe_str'
So, ich möchte nun, das wenn der User einen Text eingibt und auf Enter bzw. einen Button klickt, der Text im Textfeld ausgabe_str angezeigt wird und gleichzeitig der gesamte Inhalt des Textfeldes via PHP in einer MySQL-Datenbank gespeichert wird. Soweit so gut, das funktioniert bisher auch wunderbar.
Jetzt möchte ich natürlich auch den Text des Chatpartners angezeigt bekommen, das heisst also, ich muss die ebenfalls in der MySQL gepspeicherten daten abrufen und die Das textfeld ausgabe_str aktualisieren.
Ich dachte mir, ich verwende dazu das Object loadVars(), schreib dazu eine Funktion und rufe diese Funktion via 'setIntervall(neuladen, 3000)' halt alle 3 Sekunden auf.
Es funktioniert, das heisst PHP ruft ordnungsgemäss die Daten aus der Datenbank ab, nur bei der Übergabe läuft irgendwas schief...Es kommt nichts im Textfeld an.... Ich bin mittlerweile ziemlich verzweifelt, sitze schon seit gestern Abend an diesem Problem und habe x-Möglichkeiten probiert...ohne Erfolg.
Hier mal mein AS:
Und hier das aufgerufene PHP-Sript:
Was ist daran verkehrt ??? Die Speicherung funktioniert doch auch, wieso dann nicht auf dieselbe Art und Weise das Abrufen ????
Ich hoffe das mir jemand helfen kann.
Grüsse
Progo
ich bin gerade dabei, einen Chat in Flash / PHP zu erstellen.
Auf der Hauptbühne in Bild 1 habe ich folgende Komponenten:
1 dynamisches Textfeld zur Ausgabe des Textes -> Variable 'ausgabe_str'
1 dynamischen Textfeld zur Eingabe -> Variable 'eingabe_str'
So, ich möchte nun, das wenn der User einen Text eingibt und auf Enter bzw. einen Button klickt, der Text im Textfeld ausgabe_str angezeigt wird und gleichzeitig der gesamte Inhalt des Textfeldes via PHP in einer MySQL-Datenbank gespeichert wird. Soweit so gut, das funktioniert bisher auch wunderbar.
Jetzt möchte ich natürlich auch den Text des Chatpartners angezeigt bekommen, das heisst also, ich muss die ebenfalls in der MySQL gepspeicherten daten abrufen und die Das textfeld ausgabe_str aktualisieren.
Ich dachte mir, ich verwende dazu das Object loadVars(), schreib dazu eine Funktion und rufe diese Funktion via 'setIntervall(neuladen, 3000)' halt alle 3 Sekunden auf.
Es funktioniert, das heisst PHP ruft ordnungsgemäss die Daten aus der Datenbank ab, nur bei der Übergabe läuft irgendwas schief...Es kommt nichts im Textfeld an.... Ich bin mittlerweile ziemlich verzweifelt, sitze schon seit gestern Abend an diesem Problem und habe x-Möglichkeiten probiert...ohne Erfolg.
Hier mal mein AS:
Code:
neuladen(); setInterval(neuladen,3000); cp_image.load("../images/profiles/user/"+_root.touser+"/"+_root.touser+".jpg"); own_image.Load("../images/profiles/user/"+_root.ownid+"/"+_root.ownid+".jpg"); chatinfo_str = "Du chattest mit "+_root.touser; lv = new LoadVars(); lv.onLoad = function(geladen) { if(geladen) { trace(this) } } function neuladen() { lv.action='get'; lv.chatid = _root.chatid; lv.sendAndLoad('newmessage.php?cache='+(new Date().getTime()),lv,'POST'); }; // Speichern in MySQL _root.onEnterFrame = function() { if (Key.isDown(Key.ENTER)) { if (eingabe.text ne "") { ausgabe_str += _root.ownid+'> '+eingabe_str+'\n'; ausgabe.scroll = ausgabe.maxscroll; lv.action = 'save'; lv.chatid = _root.chatid; lv.save = ausgabe_str; lv.sendAndLoad('newmessage.php?cache='+(new Date().getTime()), lv, 'POST'); eingabe.text = ""; } } };
PHP-Code:
<?php
require("$DOCUMENT_ROOT/sec/inc/config.inc.php");
require("$DOCUMENT_ROOT/sec/inc/functions.inc.php");
//Neue Message speichern
if($_POST["action"] == "save" && $_POST["chatid"] <> ""){
conn_db("chat");
$save=$_POST["save"];
$chatid=$_POST["chatid"];
$update="UPDATE currentchats SET chattext='$save' WHERE chatid='$chatid'";
$updquery=mysql_query($update, $connect);
echo "&chatid=$chatid&";
mysql_close($connect);
}
//Messagefenster aktualisieren / an Flash weitergeben
if($_POST["action"] == "get" && $_POST["chatid"] <> ""){
conn_db("chat");
$chatid=$_POST["chatid"];
$getmessage="SELECT * FROM currentchats WHERE chatid='$chatid'";
$getquery=mysql_query($getmessage, $connect);
$result=mysql_fetch_array($getquery);
$ausgabe=$result[chattext];
echo "
&ausgabe_str=$ausgabe&
&chatid=$chatid&";
mysql_close($connect);
}
?>
Ich hoffe das mir jemand helfen kann.
Grüsse
Progo
Kommentar