kostenloser Webspace werbefrei: lima-city


Mein Chat

lima-cityForumDie eigene HomepageHTML, CSS & Javascript

  1. Autor dieses Themas

    b****g

    Hallo Leute,

    wie mach ich es bei meinem Chat, dass wenn ich eine Nachricht absende, dass dann der Chat nicht immer nach oben springt?
    Danke im Voraus.

    Hier der Chat http://nbettag.de/chat/index.php
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. Vor allem solltest du deinen Refresh deutlich höher einstellen, damit du keine Probleme bekommst. Das Aktualisieren im Sekundentakt ist nicht erlaubt soweit ich weiss.

    Bitte halte diesbezüglich mal Rücksprache mit einem Knight!

    Beitrag zuletzt geändert: 27.6.2010 12:30:12 von karpfen
  4. Autor dieses Themas

    b****g

    karpfen schrieb:
    Vor allem solltest du deinen Refresh deutlich höher einstellen, damit du keine Probleme bekommst. Das Aktualisieren im Sekundentakt ist nicht erlaubt soweit ich weiss.


    Warum? Was für Probleme?
  5. bettag schrieb:
    Warum? Was für Probleme?


    Das erzeugt unnötigen Traffic. Da solltest du unbedingt mal nen Knight fragen, was du als Wert einstellen darfst, so dass der Chat noch als erlaubt gilt! Auf jeden Fall solltest du schon jetzt den Refresh auf minimum 5 Sekunden einstellen, bevor du den genauen erlaubten Wert erfahren hast, nicht dass du hier abgestraft wirst.

    Beitrag zuletzt geändert: 27.6.2010 12:32:13 von karpfen
  6. Autor dieses Themas

    b****g

    karpfen schrieb:
    bettag schrieb:
    Warum? Was für Probleme?


    Das erzeugt unnötigen Traffic. Da solltest du unbedingt mal nen Knight fragen, was du als Wert einstellen darfst, so dass der Chat noch als erlaubt gilt!


    Ja, ich hab den Chat ja deswegen auf nen anderen Server gelegt, kein LC Server (:
    Euch zuliebe !
  7. Also erstmal würde ich Ajax benutzen, anstelle von ständigen Refreshes - das hält den Traffic schon gering. iFrames sind mega hässlich - da doch lieber ein DIV-Element mit appendChild(); erweitern.

    Als nächstes solltest du ganz unten - also hinter deinen ganzen Nachrichten einen Anker setzen. An diesen kommst du dann mit Javascript via scrollIntoView(Element);

    Wenn du dich - entgegen der optimalität - gegen Javascript entscheidest, kannst du dies ebenfalls mti einem Anker machen. Dann musst du allerdings den Inhalt des iFrames auf inhalt.php#anker aktualisieren. Der Inhalt des iFrames müsste dann so aussehen:
    <html><head></head><body>
    Inhalt1
    Inhalt2
    Inhalt3
    <a name="ende"> </a>
    </body></html>
    Die Quelle des iFrames muss dann beispielsweise chat.php#ende lauten.

    Hatte gerade keine Zeit, mir was ausführliches auszudenken - aber das Prinzip sollte klar sein ;)

  8. Autor dieses Themas

    b****g

    tplus schrieb:
    Also erstmal würde ich Ajax benutzen, anstelle von ständigen Refreshes - das hält den Traffic schon gering. iFrames sind mega hässlich - da doch lieber ein DIV-Element mit appendChild(); erweitern.

    Als nächstes solltest du ganz unten - also hinter deinen ganzen Nachrichten einen Anker setzen. An diesen kommst du dann mit Javascript via scrollIntoView(Element);

    Wenn du dich - entgegen der optimalität - gegen Javascript entscheidest, kannst du dies ebenfalls mti einem Anker machen. Dann musst du allerdings den Inhalt des iFrames auf inhalt.php#anker aktualisieren. Der Inhalt des iFrames müsste dann so aussehen:
    <html><head></head><body>
    Inhalt1
    Inhalt2
    Inhalt3
    <a name="ende"> </a>
    </body></html>
    Die Quelle des iFrames muss dann beispielsweise chat.php#ende lauten.

    Hatte gerade keine Zeit, mir was ausführliches auszudenken - aber das Prinzip sollte klar sein ;)




    Kannst Du mir es vielleicht umschreiben? Ich würd dir dann den Quelltext geben? (:
  9. Also hier ein mal eine Variante, die vorest nur auf html&php beruht.

    die "index.php":
    <html>
    	<head>
    	<!-- 
    		something,
    		something
    	-->
    	</head>
    	<body>
    		<h1>Supergeiler chat!</h1>
    		<iframe src="chat.php#ende" name="chatscreen"></iframe>
    		<form method="post" action="chat.php?#ende" target="chatscreen">
    			<input type="text" name="textfeld">
    			<input type="hidden" name="action" value="send">
    			<input type="submit">
    		</form>
    	</body>
    </html>

    und die viel interessantere "chat.php"
    <?php
        $logpath =  'secure/log.txt'; // pfad zur log-datei (sollte .htaccess geschuetzt sein.)
    	$refint = '5'; // refresh-intervall
    	$refurl = 'chat.php'; // refresh-url (die url zu diesem dokument)
    	$meta = "";	// weitere meta-angaben
    	if($_GET['method']!='ajax'){
    		if($_GET['clear']){
    			$foo = fopen($logpath,"w+");
    			fclose($foo);
    		}
    		if($_POST['action']=='send'&&$_POST['textfeld']!=""){
    			$text 	= addslashes(htmlentities($_POST["textfeld"])); // html&php escapen
    			$ip 	= $_SERVER['REMOTE_ADDR']; // user-ip
    			$time	= time(); // zeit
    			$wfile	= fopen($logpath,'a'); // log-datei an einem sicheren ort
    			if($wfile){
    				fwrite($wfile, "$time:$ip:$text\n"); // datenformatieren und schreiben
    				fclose($wfile); // schlieszen
    			}
    		}
    		echo "<html><head>$meta<meta http-equiv=\"refresh\" content=\"$refint; URL=$refurl#ende\"></head><body>"; // dokuimenten kopf 
    		$rfile		= fopen($logpath,'r'); // einlesen
    		if($rfile){
    			while(!feof($rfile)){
    				$buffer	= fgets($rfile); // einlesen
    				if(strlen($buffer)>=4){
    					$tmp	= explode( ":",$buffer, 3); // daten in array packen
    					$time	= date("d. M Y H:i:s", $tmp[0]); // zeit
    					$ip		= $tmp[1]; // ip
    					$text	= $tmp[2]; // text
    					echo "<div class=\"chatmess\">$ip ($time): $text </div>"; // ausgabe als div
    				}
    			}
    			fclose($rfile);	// schlieszen
    		}
    		echo '<a name="ende" />'; // anker setzen
    		echo '</body></html>'; // dokument-ende.
    	}else{
    		/* 	platzhalter fuer ajax-methode
    			aktuell nicht implementiert */ 
    	}
    ?>

    Die "Einstellungen" wirst du schon noch selbst vornehmen müssen, aber es ist ja (wirklich) alles feinsäuberlich kommentiert. Ausserdem könnte es bei IPV6 glaube ich noch probleme geben, fällt mir gerade auf (delimiter unglücklich gewählt)

    Wenn da noch jemandem ein fauxpas auffällt: bitte verbessern.

    Beitrag zuletzt geändert: 27.6.2010 16:49:17 von tplus
  10. Autor dieses Themas

    b****g

    Bei mir kommt kein Text? :D

    Beitrag zuletzt geändert: 27.6.2010 16:21:44 von bettag
  11. Hier eine Erklärung was die Fehlermeldung bedeutet:
    http://www.php-fehlermeldungen.de/topic38.html

    Nach dem bekannt ist woran es liegt, dürftest du den Fehler alleine beheben können^^ ;-)

    bettag schrieb: Bei mir kommt kein Text? :D


    Davor stand was anderes da^^ der Text oben bezieht sich auf deinen Text vor deinem edit...^^

    Beitrag zuletzt geändert: 27.6.2010 16:25:29 von volnerius
  12. Autor dieses Themas

    b****g

    volnerius schrieb:
    Hier eine Erklärung was die Fehlermeldung bedeutet:
    http://www.php-fehlermeldungen.de/topic38.html

    Nach dem bekannt ist woran es liegt, dürftest du den Fehler alleine beheben können^^ ;-)

    bettag schrieb: Bei mir kommt kein Text? :D


    Davor stand was anderes da^^ der Text oben bezieht sich auf deinen Text vor deinem edit...^^


    Ja, den Fehler davor hab ich selber behoben ;)
    Hast du ne Ahnung, wegen dem neuen Fehler?
  13. War in der Zeile
    $text 	= htmlentities(addslashes($_PST["textfeld"])); // html&php escapen
    , welche natürlich hätte heissen müssen
    $text 	= htmlentities(addslashes($_POST["textfeld"])); // html&php escapen


    solche kleinen tippfehler sollte man aber auch selbst korrigieren können. ;-)

    Naja, ist korrigiert. Sollte nun funktionieren.
  14. Autor dieses Themas

    b****g

    tplus schrieb:
    War in der Zeile
    $text 	= htmlentities(addslashes($_PST["textfeld"])); // html&php escapen
    , welche natürlich hätte heissen müssen
    $text 	= htmlentities(addslashes($_POST["textfeld"])); // html&php escapen


    solche kleinen tippfehler sollte man aber auch selbst korrigieren können. ;-)

    Naja, ist korrigiert. Sollte nun funktionieren.


    Ja. Danke. Wie mach ich es, dass man sich einen Benutzernamen geben kann?
  15. Wie es aussieht hast du kp von dem was in diesem Skript passiert deshalb empfehle ich dir also es lieber, oder such im Internet nach einem fertigen Chat... ;-)
  16. Autor dieses Themas

    b****g

    volnerius schrieb:
    Wie es aussieht hast du kp von dem was in diesem Skript passiert deshalb empfehle ich dir also es lieber, oder such im Internet nach einem fertigen Chat... ;-)


    Wie langweilig :(
  17. volnerius schrieb:
    Wie es aussieht hast du kp von dem was in diesem Skript passiert deshalb empfehle ich dir also es lieber, oder such im Internet nach einem fertigen Chat... ;-)
    Das dumpfe Gefühl habe ich irgendwie auch. Ist ja schon fast dreist, den Thread hier als "Mein Chat" zu betiteln - im Moment ist es ja fast eher mein Chat. :smokin:

    Wäre allerdings unter Careware-Lizenz denkbar. dass man sowas mal schreibt. Mit einem Aufruf an Lima zu spenden. :tongue: So haben dann immerhin alle was davon.

    bettag schrieb:
    Wie langweilig :(
    Mal so rein theoretisch, ohne was zu versprechen: Hast du da denn auch MySQL/PostgreSQL?
  18. bettag schrieb:
    volnerius schrieb:
    Wie es aussieht hast du kp von dem was in diesem Skript passiert deshalb empfehle ich dir also es lieber, oder such im Internet nach einem fertigen Chat... ;-)


    Wie langweilig :(

    Das einzige was langweilig bist du, da du rein garnichts alleine machst, außer die ganze zeit Skripte an zu fordern, wo von du eh keine Ahnung hast... ^^ Also setz dich ran lern nen bissl php und code den chat selber und bettel nicht die ganze Zeit nach Hilfe ohne was dafür zu tun :rolleyes:

    Beitrag zuletzt geändert: 27.6.2010 17:37:55 von volnerius
  19. Autor dieses Themas

    b****g

    Ja, ich hab auch MySQL
  20. Gut, dann kannst du jetzt mal in der schönen Suchmaschiene Google die 4 Wörter: PHP und MySQL Chat Skript....

    Oder Nein, das überfordert dich bestimmt, hier ein direkter Link: http://www.php-free.de/Chats/more2.html auf der Seite findest du auch fertige Chat Skripte...

    Beitrag zuletzt geändert: 27.6.2010 22:21:41 von volnerius
  21. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!