php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2005

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 15.05.2005, 17:29  
Gast
 
Beiträge: n/a
Standard probleme mit anzeige der neuen shoutboxtexten

Hallo alle

Ich bin noch recht neu in der PHP welt und habe mir jetzt als übung selbst eine shoutbox gebastelt. Zwar nix weltbewegendes, aber dennoch.

Alles funzt auch ganz gut, solange ich es bin, der die texte tippt *gg* wenn anderen das tun, funzt das auch, aber nur bei den benutzer selbst, so wie das also auch bei mir selbst funzt.

Wie kann ich nun es hinbekommen, dass wenn ein user was tippt ich das auch sehen kann und umgekehrt ?

das script besteht aus 4 dateien,

- shout.htm - beinhaltet das shoutformular, und in ein IFRAME das anzeigen der texte

- shout.php - die eigentliche routine, verschiebt die zeilen, verarbeitet deie formulardaten und sspeichert alles wieder brav ab.

- shout.txt - Die datei wo die eintragungen gespeichert werden

- display.php - das script, was die datei liest und in's iframe setzt.

ein reload über einen metatag hilft nix
die Display routine sieht so aus

<body bgcolor="#C0C0C0">
<?php
$datei = file("shout.txt","r");
foreach($datei AS $ausgabe)
{
$zerlegen = explode("|", $ausgabe);

echo "Von $zerlegen[0]

$zerlegen[1]
";
}
?>

die shout.php so:

<?
$name = $_POST["name"];
$msg = $_POST["msg"];
$msg = str_replace("","[img]./smilies/smile.gif[/img]",$msg);
$msg = str_replace(":8","[img]./smilies/smile-2.gif[/img]",$msg);
$msg = str_replace(":P","[img]./smilies/toung.gif[/img]",$msg);
$msg = str_replace("","[img]./smilies/sad.gif[/img]",$msg);
$msg = str_replace("","[img]./smilies/sick.gif[/img]",$msg);
$msg = str_replace(":0","[img]./smilies/oh.gif[/img]",$msg);
$msg = str_replace("","[img]./smilies/oh.gif[/img]",$msg);
$msg = str_replace("","[img]./smilies/bigsmile.gif[/img]",$msg);
$msg = str_replace(":d","[img]./smilies/bigsmile.gif[/img]",$msg);
$zeile = $name."|".$msg;
$datei = fopen("shout.txt","r");
$i=0;
while ($i<15) {
$line[$i] = fgets($datei);
$i++;
}

fclose($datei);
$line[14] = $line[13];
$line[13] = $line[12];
$line[12] = $line[11];
$line[11] = $line[10];
$line[10] = $line[9];
$line[9] = $line[8];
$line[8] = $line[7];
$line[7] = $line[6];
$line[6] = $line[5];
$line[5] = $line[4];
$line[4] = $line[3];
$line[3] = $line[2];
$line[2] = $line[1];
$line[1] = $line[0];
$line[0] = $zeile."\r\n";
$i=0;
$datei = fopen("shout.txt","r+");
while ($i<15){
fputs ($datei, $line[$i]);
$i++;
}
fclose ($datei);

header ("location: http://atisp.ath.cx/shout.htm");
?>

also gut... der shout htm auch mal, nur zur verständigung, wie es gebaut ist
<html>

<head>
<title>RNI Sendezentrum</title>
</head>

<body>

<table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="59%" id="AutoNumber1" height="306">
<tr>
<td width="100%" height="306" valign="top">
<table border="1" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="288" id="AutoNumber2" height="1">
<tr>
<td width="152" height="1" valign="top">
<iframe name="main" frameborder="0" scrolling="yes" src="http://atisp.ath.cx/display.php" width="151" height="309"></iframe>
</td>
<td width="133" height="1" valign="top" bgcolor="#C0C0C0">
<p align="center">Smilies<p align="left">
[img]./smilies/amazed.gif[/img]
[img]./smilies/amuse.gif[/img]
[img]./smilies/biggrin.gif[/img]
[img]./smilies/bigrazz.gif[/img]
[img]./smilies/bigsmile.gif[/img]

[img]./smilies/blink.gif[/img]
[img]./smilies/cheesy.gif[/img]
[img]./smilies/confused.gif[/img]
[img]./smilies/cool.gif[/img]
[img]./smilies/crying.gif[/img]

[img]./smilies/embarrest.gif[/img]
[img]./smilies/evil.gif[/img]
[img]./smilies/huh.gif[/img]
[img]./smilies/laugh.gif[/img]
[img]./smilies/mad.gif[/img]

[img]./smilies/notrust.gif[/img]
[img]./smilies/noworry.gif[/img]
[img]./smilies/nuts.gif[/img]
[img]./smilies/oh.gif[/img]
[img]./smilies/push.gif[/img]

[img]./smilies/rolleyes.gif[/img]
[img]./smilies/sad-2.gif[/img]
[img]./smilies/sad.gif[/img]
[img]./smilies/sick.gif[/img]
[img]./smilies/smile-2.gif[/img]

[img]./smilies/smile.gif[/img]
[img]./smilies/suspicious.gif[/img]
[img]./smilies/toung.gif[/img]
[img]./smilies/unsure.gif[/img]
[img]./smilies/wacko.gif[/img]

[img]./smilies/weird.gif[/img]
[img]./smilies/wink.gif[/img]
[img]./smilies/worried.gif[/img]

</td>
</tr>
<tr>
<td colspan="2" width="284" height="73" valign="top" bgcolor="#C0C0C0">
<form method="POST" action="shout.php">

<input type="text" name="name" size="20"> <font color="#800000">Name</font>


<input type="text" name="msg" size="20"> <font color="#800000">Nachricht</font>


<button name="shout" type="submit">Shouten !</button></p>
</form>
</td>
</tr>
</tr>
</table>
</td>
</tr>
</table>

</body>

</html>

so sollts eigentlich gehen, was es tut... und doch auch nicht *gg*
Wäre nett wenn jemand sagt, was ich falsch mache, nur wer fehler macht kann auch was lernen ist immer mein motto in solchen fällen *gg*
dank im voraus

gruß, Joshi
 
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 15.05.2005, 17:35  
Gast
 
Beiträge: n/a
Standard

PHP-Code:
<?php
//Kannst du den Code vielleicht erstemal formatieren?
?>
 
Alt 15.05.2005, 17:46  
Gast
 
Beiträge: n/a
Standard

wenn ich wüsste wie das geht... dann gerne
?>[/php]
 
Alt 15.05.2005, 17:48  
Gast
 
Beiträge: n/a
Standard

PHP-Code:
<body bgcolor="#C0C0C0">
<?php
$datei 
file("shout.txt","r");
foreach(
$datei AS $ausgabe)
{
$zerlegen explode("|"$ausgabe);

echo 
"Von [b]$zerlegen[0][/b]

$zerlegen[1]
"
;
}
?>

die shout.php so:

<?
$name 
$_POST["name"];
$msg $_POST["msg"];
$msg str_replace("Smile","[img]./smilies/smile.gif[/img]",$msg);
$msg str_replace(":8","[img]./smilies/smile-2.gif[/img]",$msg);
$msg str_replace("Razz","[img]./smilies/toung.gif[/img]",$msg);
$msg str_replace("Sad","[img]./smilies/sad.gif[/img]",$msg);
$msg str_replace("Mad","[img]./smilies/sick.gif[/img]",$msg);
$msg str_replace(":0","[img]./smilies/oh.gif[/img]",$msg);
$msg str_replace("Surprised","[img]./smilies/oh.gif[/img]",$msg);
$msg str_replace("Very Happy","[img]./smilies/bigsmile.gif[/img]",$msg);
$msg str_replace(":d","[img]./smilies/bigsmile.gif[/img]",$msg);
$zeile $name."|".$msg;
$datei fopen("shout.txt","r");
$i=0;
while (
$i<15) {
$line[$i] = fgets($datei);
$i++;
}

fclose($datei);
$line[14] = $line[13];
$line[13] = $line[12];
$line[12] = $line[11];
$line[11] = $line[10];
$line[10] = $line[9];
$line[9] = $line[8];
$line[8] = $line[7];
$line[7] = $line[6];
$line[6] = $line[5];
$line[5] = $line[4];
$line[4] = $line[3];
$line[3] = $line[2];
$line[2] = $line[1];
$line[1] = $line[0];
$line[0] = $zeile."\r\n";
$i=0;
$datei fopen("shout.txt","r+");
while (
$i<15){
fputs ($datei$line[$i]);
$i++;
}
fclose ($datei);

header ("location: http://atisp.ath.cx/shout.htm");
?>

also gut... der shout htm auch mal, nur zur verständigung, wie es gebaut ist
<html>

<head>
<title>RNI Sendezentrum</title>
</head>

<body>

<table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="59%" id="AutoNumber1" height="306">
<tr>
<td width="100%" height="306" valign="top">
<table border="1" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="288" id="AutoNumber2" height="1">
<tr>
<td width="152" height="1" valign="top">
<iframe name="main" frameborder="0" scrolling="yes" src="http://atisp.ath.cx/display.php" width="151" height="309"></iframe>
</td>
<td width="133" height="1" valign="top" bgcolor="#C0C0C0">
<p align="center">[b]Smilies[/b]<p align="left"> 
[img]./smilies/amazed.gif[/img] 
[img]./smilies/amuse.gif[/img] 
[img]./smilies/biggrin.gif[/img] 
[img]./smilies/bigrazz.gif[/img] 
[img]./smilies/bigsmile.gif[/img]

  [img]./smilies/blink.gif[/img] 
[img]./smilies/cheesy.gif[/img] 
[img]./smilies/confused.gif[/img] 
[img]./smilies/cool.gif[/img] 
[img]./smilies/crying.gif[/img]

  [img]./smilies/embarrest.gif[/img] 
[img]./smilies/evil.gif[/img] 
[img]./smilies/huh.gif[/img] 
[img]./smilies/laugh.gif[/img] 
[img]./smilies/mad.gif[/img]

  [img]./smilies/notrust.gif[/img] 
[img]./smilies/noworry.gif[/img] 
[img]./smilies/nuts.gif[/img] 
[img]./smilies/oh.gif[/img] 
[img]./smilies/push.gif[/img]

  [img]./smilies/rolleyes.gif[/img] 
[img]./smilies/sad-2.gif[/img] 
[img]./smilies/sad.gif[/img] 
[img]./smilies/sick.gif[/img] 
[img]./smilies/smile-2.gif[/img]

  [img]./smilies/smile.gif[/img] 
[img]./smilies/suspicious.gif[/img] 
[img]./smilies/toung.gif[/img] 
[img]./smilies/unsure.gif[/img] 
[img]./smilies/wacko.gif[/img]

  [img]./smilies/weird.gif[/img] 
[img]./smilies/wink.gif[/img] 
[img]./smilies/worried.gif[/img]

 </td>
</tr>
<tr>
<td colspan="2" width="284" height="73" valign="top" bgcolor="#C0C0C0">
<form method="POST" action="shout.php">
 
<input type="text" name="name" size="20"> [b]<font color="#800000">Name</font>[/b]

 
<input type="text" name="msg" size="20"> [b]<font color="#800000">Nachricht</font>[/b]

 
<button name="shout" type="submit">Shouten !</button></p>
</form>
</td>
</tr>
</tr>
</table>
</td>
</tr>
</table>

</body>

</html>
Alles ein bißchen umständlich. Du willst, dass nur 15 Stück angezeigt werden, oder? Lese die Datei in ein Array ein, nimm den ältesten Eintrag raus (falls es denn schon 15 sind) und packe den gerade einzutragenden nach ganz vorne und schreib alles wieder in die Datei.
 
Alt 15.05.2005, 17:53  
Gast
 
Beiträge: n/a
Standard

Danke.. werde mich bessern, sehe gerade einen button mit groß 'pnp' drauf

gruß, Joshi
 
Alt 15.05.2005, 18:47  
Gast
 
Beiträge: n/a
Standard

ich weiß, dass es kein proficode ist ist nur ne übung, die ich mich selbst gestellt habe

Das verschieben der zeilen innerhalb das Array macht er ja auch, zwar umständlich, aber als ich das mit eine if-schleife versuchte, scheiterte das, aus welchem grund auch immer.

Es werden nur nicht die neuen einträge bei dem anderen usern angezeigt, sonst gehts ja, wenn man selbst was tippt, kommt das auch, nur sehen die anderen das nicht.

Hab deshalb auch einige gratis scripts durchgeguckt und fand aber trotzdem nichts, was mir helfen könnte

ich selbst denke, dass das evt. mit dem iframe zusammenhängt, denn die html seite merkt nunmal nicht, dass die shout.txt sich geändert hat.

Gruß, Joshi
 
Alt 15.05.2005, 18:54  
Erfahrener Benutzer
 
Registriert seit: 08.11.2004
Beiträge: 2.079
Der_Gerhard ist zur Zeit noch ein unbeschriebenes Blatt
Der_Gerhard eine Nachricht über ICQ schicken
Standard

Zitat:
Zitat von joshi704
Danke.. werde mich bessern, sehe gerade einen button mit groß 'pnp' drauf

gruß, Joshi
1. Auf dem Knopf steht PHP.
2. Richtige Tags reichen noch nicht. Rücke auch den Code ein. Es sind zwar nur zwei Mini-while-Schleifchen, aber auch die gehören eingerückt.
Der_Gerhard ist offline  
Alt 15.05.2005, 19:03  
Gast
 
Beiträge: n/a
Standard

so also ?
[php]
<?php
$name = $_POST["name"];
$msg = $_POST["msg"];
$msg = str_replace("","[img]./smilies/smile.gif[/img]",$msg);
$msg = str_replace(":8","[img]./smilies/smile-2.gif[/img]",$msg);
$msg = str_replace(":P","[img]./smilies/toung.gif[/img]",$msg);
$msg = str_replace("","[img]./smilies/sad.gif[/img]",$msg);
$msg = str_replace("","[img]./smilies/sick.gif[/img]",$msg);
$msg = str_replace(":0","[img]./smilies/oh.gif[/img]",$msg);
$msg = str_replace("","[img]./smilies/oh.gif[/img]",$msg);
$msg = str_replace("","[img]./smilies/bigsmile.gif[/img]",$msg);
$msg = str_replace(":d","[img]./smilies/bigsmile.gif[/img]",$msg);
$zeile = $name."|".$msg;
$datei = fopen("shout.txt","r");
$i=0;
while ($i<15) {
$line[$i] = fgets($datei);
$i++;
}

fclose($datei);
$line[14] = $line[13];
$line[13] = $line[12];
$line[12] = $line[11];
$line[11] = $line[10];
$line[10] = $line[9];
$line[9] = $line[8];
$line[8] = $line[7];
$line[7] = $line[6];
$line[6] = $line[5];
$line[5] = $line[4];
$line[4] = $line[3];
$line[3] = $line[2];
$line[2] = $line[1];
$line[1] = $line[0];
$line[0] = $zeile."\r\n";
$i=0;
$datei = fopen("shout.txt","r+");
while ($i<15){
fputs ($datei, $line[$i]);
$i++;
}
fclose ($datei);

header ("location: http://atisp.ath.cx/shout.htm");
?>
 
Alt 15.05.2005, 19:05  
Gast
 
Beiträge: n/a
Standard

grummel... irgendwas mach ich falsch, die php wird nicht so angezeigt wie deine

allerdings, in der orginaldatei sind diese eingerückt.
naja, ich lerne das mit den funktionen des boards sicher noch
 
Alt 15.05.2005, 19:06  
Erfahrener Benutzer
 
Registriert seit: 08.11.2004
Beiträge: 2.079
Der_Gerhard ist zur Zeit noch ein unbeschriebenes Blatt
Der_Gerhard eine Nachricht über ICQ schicken
Standard

Du musst den PHP-Tag auch wieder zumachen.

Ohne den knopf kannst Du einfach [ php ] <? ... ?> [ /php ] schreiben. Nur ohne Leerzeichen in den Tags.
__________________
**********************************
Nein, ich bin nicht die Signatur.
Ich putze hier nur.
**********************************
Der_Gerhard ist offline  
 


Themen-Optionen
Thema bewerten
Thema bewerten:

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

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

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Probleme mit "load data infile" nach Serverupgrade knödelkopf Datenbanken 4 16.06.2008 16:12
Probleme mit Zeichencodierung nach Server Umzug knödelkopf Datenbanken 4 27.02.2008 21:25
Probleme bei Speicherung von serialize() Strings Manni2k PHP Tipps 2006 13 15.10.2006 15:06
Probleme mit mbstring extension unter Debian HStev Server, Hosting und Workstations 3 30.08.2006 20:55
Forum selber machen - Problem mit neuen Beiträgen PHP Tipps 2006 2 01.04.2006 20:52
ISO - utf-8 - Probleme mit Umlauten Datenbanken 1 06.02.2006 10:15
Probleme beim Datenupload zu meiner Datenbank Datenbanken 3 05.09.2005 19:47
Probleme beim Einspielen eines Dumps - GELÖST Datenbanken 2 09.08.2005 13:35
DIV Layer Anzeige Problem. Nach refresh korrekte Anzeige HTML, Usability und Barrierefreiheit 12 23.06.2005 14:38
[Erledigt] fieldset in neuen fenster HTML, Usability und Barrierefreiheit 1 25.05.2005 15:39
[Erledigt] hilfe! probleme mit... PHP Tipps 2005 4 12.04.2005 22:55
Forum: Anzeige neuer Posts. eQuin PHP-Fortgeschrittene 16 24.02.2005 13:54
Probleme beim neuen Template erstellen PHP Tipps 2005 4 07.01.2005 19:56
[Erledigt] Technische Probleme mit Sessions PHP-Fortgeschrittene 4 18.11.2004 14:45
anzeige von neuen themen eQuin PHP-Fortgeschrittene 1 25.10.2004 08:19

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
bei neuer shout nachricht blinkender button, shout.txt

Alle Zeitangaben in WEZ +2. Es ist jetzt 13:46 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.