Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 08-03-2005, 16:27   #1 (permalink)
Neuer User
 
Registriert seit: Sep 2003
Beiträge: 4
Chat

Hallo!
Ich bastel gerade an einem kleinen Chat. Mein Problem ist nur, dass der User und die Nachricht immer als 'Undefined' angezeigt werden und das alles an sich nicht richtig funktionieren will.

In der Flash-Datei habe ich nur ein Frame mit 2 Textfeldern und einem Button.
Das Textfeld für die eingegebene Nachricht hat die Variable 'inputtext'. Das Textfeld für die bisher geschriebenen Nachrichten hat die Variable 'chat' bekommen und unterstützt HTML.

Der Button hat folgenden Code:
PHP-Code:
on(releasekeyPress "<Enter>"){
    
url "http://localhost/ragoona/_chat/addentry.php?nickname="+nickname+"&roomid="+roomid;
    if(
inputtext!="" && inputtext!=" "){
        
loadVariablesNum(url,0,"POST");
        
inputtext "";
        
textfeld.setFocus();
    }

Das funktioniert auch bestens.


Und das hier ist der Code für den ersten (und einzigen) Frame in der Zeitleiste:
PHP-Code:
stop();
setInterval(this'neuladen'5000);
maxusers "max. Besucherzahl: "+_root["maxusers"];
me = new LoadVars();
me.onLoad = function(ok){
    if (
ok) {
        
x=0;
        
chat "";
        while(
x<=me.entrycount){
            
chat chat me.absender "> " me.msg(x) + newline;
            
x++;
        }
    }else{
        
chat "Es konnte keine Verbindung zur Datenbank aufgebaut werden.";
    }
}
this.neuladen = function(){
    
me.load("_chat/read.php",me,"POST");


Die Datei 'addentry.php' enthält folgenden Code:
PHP-Code:
<?php
  
require "../functions.php";
  
addChatMsg($nickname,$roomid,$inputtext);
  
connect_db();
  
$showinchat time()-2*60*60;
  
$sql "SELECT * FROM chat WHERE roomid = '$roomid' AND timestamp > $showinchat AND ispm = 'nein' ORDER BY id";
  
$query mysql_query($sql);
  
$retstr "chat=";
  while(
$result=mysql_fetch_array($query)){
    
$retstr .= $result["message"];
  }
  echo 
urlencode($retstr);
?>
In der Datei 'functions.php' ist nur die Funktion connect_db(), die den Aufruf der Datenbank ermöglicht.

In der Datei 'read.php' steht dieser Code:
PHP-Code:
<?php
  
require "../functions.php";
  
connect_db();
  
$showinchat time()-(2*60*60);
  
$sql "SELECT * FROM chat WHERE roomid = '$roomid' AND timestamp > $showinchat AND ispm = 'nein' ORDER BY id";
  
$query mysql_query($sql);
  
$i 0;
  echo 
"&";
  while(
$result=mysql_fetch_array($query)){
    echo 
urlencode("absender[".$i."]=".$result["absender"]."&");
    echo 
urlencode("msg[".$i."]=".$result["message"]."&");
    
$i++;
  }
  echo 
"&entrycount=".$i;
?>
Ich hoffe, dass ich das ganze System nicht zu umständlich gedacht habe und dass mir jemand helfen kann.

Achso... Gibt es eigentlich die Möglichkeit in Flash wie bei PHP z.B. mit $array[$i] auf ein Array zuzugreifen? Das hätte mir nämlich hier super gefehlt.



MfG Michael
michi32 ist offline   Mit Zitat antworten
Alt 08-03-2005, 17:33   #2 (permalink)
All-rounder
 
Benutzerbild von thebiz
 
Registriert seit: Mar 2004
Ort: Bayerische Rhön
Beiträge: 2.507
Hi.
Das mit dem Zugriff auf das Array geht in AS genau wie in PHP.
ActionScript:
  1. meinArray=["eins","zwei","drei"];
  2. trace(meinArray[0]); // zeigt eins an
  3.  
__________________

--------------------------------
Ich klicke, ergo bin ich. (me)
--------------------------------
thebiz ist offline   Mit Zitat antworten
Alt 09-03-2005, 15:27   #3 (permalink)
Neuer User
 
Registriert seit: Sep 2003
Beiträge: 4
Wie übergebe ich denn ein Array per PHP an Flash?
__________________
Wer anderen eine Bratwurst brät, der hat ein Bratwurstbratgerät.
michi32 ist offline   Mit Zitat antworten
Alt 09-03-2005, 15:50   #4 (permalink)
wez
flash | php | mysql
 
Registriert seit: Jun 2003
Beiträge: 65
Da poste ich gerade ein neues Serialisierungs-Format und sehe gleich, daß es hierzu eine Frage gibt.

Wenn man Arrays von PHP nach Flash oder umgekehrt schicken will, muss man den Array zunächst in einen formatierten String umwandeln, der dan auf der anderen Seite wieder entschlüsselt wird und den Array zusammensetzt.
Diesen Vorgang nennt man Serialisieren bzw. Deserialisieren.
Schau mal hier, habe ich gerade gepostet:
CXS: PHP<-->Flash Serializer

Da sind eine Reihe von Möglichkeiten aufgelistet.

Geht natürlich auch mit AMFPHP, aber das ist wohl ein anderes Thema.
wez ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an



Alle Zeitangaben in WEZ +1. Es ist jetzt 22:58 Uhr.

Domains, Webhosting & Vserver von Host Europe
Unterstützt das Flashforum!
Adobe User Group


Copyright ©1999 – 2012 Marc Thiele