Probleme mit Chat aktualisierung - PHP & MySQL

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Probleme mit Chat aktualisierung - PHP & MySQL

    Hallo Leute,

    habe mal versucht einen kleinen Chat zu bauen. Funktioniert auch so weit alles schon ganz schön. Hier erst einmal die Startdatei:

    PHP-Code:
    <html>
    <
    head>
    <
    meta http-equiv="Content-Language" content="de">
    </
    head>
    <
    body>
    <
    form method="POST" action="chat.php?name=$name">
    <
    p><font face="Verdana" size="2">Bitte geben Sie ihren Namen ein. </font></p><p><font face="Verdana"><input type="text" name="name" size="20"><input type="submit" value="Send" name="B1"></font></p>
    </
    form>
    </
    body>
    </
    html
    Dann gibt man seinen Namen ein und kommt zur Hauptseite:


    PHP-Code:
     
    <?PHP

    $db_server 
    "localhost";
    $db_name "XXXXXXXX";
    $db_user "XXXXXXXX";
    $db_passwort "XXXXXXXX";


    $db = @MYSQL_CONNECT($db_server,$db_user,$db_passwort) or die ("Konnte keine Verbindung zur Datenbank herstellen");
    $db_check = @MYSQL_SELECT_DB($db_name); 


    ?>
               
    <body > 
        
    <?php 
    $_REQUEST
    ['name'];
    $_REQUEST['chat'];

    $comb "<b>$name</b> $chat";
    $query "insert into neutest (text) 
    values ('
    $comb')";
    $result=mysql_query($query);
    ?> 


    <?php echo "
    <p><iframe name='I1' width='561' height='250' src='chat_inline.php#test'>
    </iframe></p>


    <form name='chat' method='post' action='chat.php?name=
    $name'>
    <input type='text' name='chat' size='60'>
    <input type='submit' value='send'>
    </form>


    <form action='delete.php' method='link'>
    <input type='submit' value='Reset'>
    </form> 

    <script type='text/javascript'>

       document.chat.chat.focus();

    </script>


    "
    ;

    ?>


    Die Inlineframedatei chat_inline sieht so aus

    PHP-Code:
    <?PHP

    $db_server 
    "localhost";
    $db_name "xxxxx";
    $db_user "xxxxxx";
    $db_passwort "xxxxxx";


    $db = @MYSQL_CONNECT($db_server,$db_user,$db_passwort) or die ("connection failed");
    $db_check = @MYSQL_SELECT_DB($db_name); 

    ?>
                

    <?

    $result = mysql_query("SELECT * FROM neutest", $db); 
    $numrows = mysql_num_rows($result); 
    while ($row =  mysql_fetch_object($result))

    {
    $chat = $row-> text;
                                    
    echo "<font face='Verdana' color='#808080' size='1'>$chat<br>";

    };

    echo "<font face='Verdana' color='#FFFFFF'><a name='test'>test</a></font>";

    ?>


    Alles ausprobieren könnt ihr unter http://djleggins.dj.funpic.de/Test/vorchat.htm.



    Meine Frage jetzt: Wenn ich zwei fenster öffne und unterschiedliche Namen eingebe, wie bekomme ich das hin, dass sich beide fenster sofern eine nachricht des anderen eingegeben wird, aktualisiert. Wenn man jetzt auf aktualisieren (refresh) klickt, dann wiederholt sich die zuletzt eingetippte Nachricht.

    Das wär eine super sache sonst. Vielen Dank fuer eure Beiträge

  • #2
    Re: Probleme mit Chat aktualisierung - PHP &amp; MySQL

    Regeln lesen, Code umbrechen.

    Meine Frage jetzt: Wenn ich zwei fenster öffne und unterschiedliche Namen eingebe, wie bekomme ich das hin, dass sich beide fenster sofern eine nachricht des anderen eingegeben wird, aktualisiert.
    In dem du die Fenster clientseitig in einem Intervall immer wieder neu laden lässt. Meta-Refresh oder Javascript.
    Wenn man jetzt auf aktualisieren (refresh) klickt, dann wiederholt sich die zuletzt eingetippte Nachricht.
    Ja, das ist bei normal - schließlich wird damit die letzte Aktion wiederholt, und die war nun mal das Verschicken der eingegebenen Daten.

    Nutze einen separaten Frame für die Ausgabe, so dass du nur diese neu laden musst - und lade das Formular dann nicht neu.
    Oder beschäftige dich mit AJAX.
    I don't believe in rebirth. Actually, I never did in my whole lives.

    Kommentar


    • #3
      HTTP basierenden Chats, davon kann ich eigendlich
      nur abraten! Das Protokoll ist einfach nicht dafür
      geeignet. Die Funktionalität bekommt man nur durch
      Polling hin. Ein Prinzip aus der EDV Steinzeit.
      Dadurch sind Netzlast und Performance zum heulen...

      Ajax vereinfacht die Angelegenheit, aber man kommt
      damit nicht an die Wurzel des Übels.

      Mein Empfehlung:
      Für den Client ein Java-Applet oder besser ein
      natives Programm. Auch der Serverprozess sollte
      ein eigenständiges Programm sein. Die Dinge gibts
      massig, fertig vorgekaut im Internet.
      Zuletzt geändert von combie; 15.09.2006, 01:40.
      Wir werden alle sterben

      Kommentar


      • #4
        Original geschrieben von combie
        HTTP basierenden Chats, davon kann ich eigendlich nur abraten!
        OffTopic:
        Das kannst du so oft anmerken, wie du willst (hab ich auch schon oft genug getan) - das beeindruckt den Neuling, der unbedingt seinen eigenen Chat haben will, überhaupt nicht.
        I don't believe in rebirth. Actually, I never did in my whole lives.

        Kommentar


        • #5
          OffTopic:
          Tja...da muß jeder wohl seine eigenen Erfahrungen machen...


          Ein Ajax Beispiel:
          http://www.combie.de/chess/chess.php
          Es gibt (noch) keine Regeln
          Im Prototypestadium stehengeblieben.....

          Bedi:
          Figur anklicken, warten...
          Figur verschwindet
          Auf leers Feld klicken, warten...
          Figur erscheint
          Zuletzt geändert von combie; 15.09.2006, 02:04.
          Wir werden alle sterben

          Kommentar

          Lädt...
          X