 |
| Hinweise |
Willkommen im TP-Hilfe-Forum!Dies ist ein Forum zu den Themen Photoshop, Dreamweaver, Flash, Selbständigkeit und mehr, in dem Du Hilfe, Anleitung oder eine Lösung zu Deinen Problemen erhältst. Aktuell bist Du in unseren Foren als Gast mit reinen Leserechten unterwegs. Wenn Du Dich registrierst, kannst Du eigene Themen verfassen, deine Frage stellen und privat mit anderen TPlern kommunizieren. Weitere Foren werden zugänglich, und Du wirst – falls gewünscht – per Mail über neue Beiträge informiert. Die Registrierung ist schnell und kostenlos. Sollten bei der Registrierung Fragen auftauchen, reicht ein Klick in unsere Hilfe - Häufig gestellte Fragen oder eine kurze Mitteilung an das Support-Team. Viel Spaß bei Traum-Projekt.com |
14.04.2004, 11:21
|
#1
|
|
TP-Moderator
Registriert seit: Mar 2003
Ort: Hamburg
|
Shoutbox
Hallo Dynamiker.
ich versuche, durch das tut von webmasterpro.de eine Shoutbox ohne MySQL zu erstellen. Der erste EIntrag klappt auch wunderbar, jedoch der Rest irgendwie nicht so Recht.
Hier das Tut: http://webmasterpro.de/content_tip-1371.php
Hier die Shoutbox: http://www.tmclan.de/shoutbox.php
Hier der Code:
Code:
<?php
//
// Speichervorgang
//
$logfile = "shouts.txt"; // Datenbank, in "shouts.txt" werden die Einträge gespeichert
if(isset($HTTP_POST_VARS['name']) && isset($HTTP_POST_VARS['text']))
{
$HTTP_POST_VARS['name'] = str_replace('||', '||', stripslashes($HTTP_POST_VARS['name'])); // die ||-Zeichen werden durch die HTML-Zeichen ausgetauscht und backslashes () werden entfernt
$HTTP_POST_VARS['text'] = str_replace('||', '||', stripslashes($HTTP_POST_VARS['text']));
$fp = fopen($logfile, "a+"); // die Logfile wird geöffnet zum beschreiben
flock($fp, 2); // die Logfile wird abgeriegelt
$shout = fwrite($fp, $HTTP_POST_VARS['name'].'||'.$HTTP_POST_VARS['text']."rn"); // der Neue Eintrag wird ans Ende angehängt
flock($fp, 3); // die Logfile wird wieder entriegelt
fclose($fp); // Datei wird geschlossen
if($shout) { header("Location: ".$HTTP_SERVER_VARS['PHP_SELF']); } // Weiterleitung
}
?>
<html>
<head>
<title>Unbenanntes Dokument</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body><?php
//
// Ausgabe der Einträge
//
$logfile = "shouts.txt"; // Datenbank, in "shouts.txt" werden die Einträge gespeichert
$amount = 5; // Anzahl der zu zeigenden Einträge
$data = @file($logfile); // Einträge werden in ein Array eingelesen
$dbamount = count($data); // Einträge werden gezählt
for($i=$dbamount-$amount; $i<$dbamount; $i++)
{
if(trim($data[$i])!="") {
$splittet = explode('||', $data[$i]); // Die Einträge werden bei "||" getrennt
echo "<table width=150px; border=1px>";
echo "<tr><td><b>". htmlspecialchars($splittet[0]) .":</b><br>". htmlspecialchars($splittet[1]) ."</td></tr>"; // HTML-Syntax wird entfernt
echo "</table>";
}
}
?>
<form method="post" action="<?php echo $HTTP_SERVER_VARS['PHP_SELF']; ?>">
<input type="text" name="name" value="Name"><br>
<input type="text" name="text" value="Text"><br>
<input type="submit" value="Senden">
</form>
</body>
</html>
|
|
|
14.04.2004, 12:29
|
#2
|
|
TP-Veteran
Registriert seit: Sep 2002
Ort: Winterthur
|
HI,
ich glaube du machst beim Schreiben in die Shouts.txt einen Fehler und zwar fehlt dir am Ende bei rn ein \, ich mach das immer mit \n am Ende. Das Weglassen dieses Slashes fürht bei dir dazu dass alles in eine Zeile geschrieben wird, folglich kann das Script mit file() nur die erste Zeile finden und keine weiteren.
Versuchs mal damit: $shout = fwrite($fp, $HTTP_POST_VARS['name'].'||'.$HTTP_POST_VARS['text']."\n"); // der Neue Eintrag wird ans Ende angehängt
__________________
Metal klingt am besten, wenn man taub ist.
|
|
|
14.04.2004, 12:41
|
#3
|
|
TP-Moderator
Registriert seit: Mar 2003
Ort: Hamburg
|
Hi,
vielen Dank, genau das war wohl der Fehler. Müssten die dort mal verbessern, denn für ein "Anfängertutorilal" ein unlösbarer Feherl 
|
|
|
14.04.2004, 12:41
|
#4
|
|
TP-Veteran
Registriert seit: Sep 2002
Ort: Winterthur
|
HI,
achso, hättest du die Kommentare beim Tutorial gelesen hättest du die Lösung schneller gehabt
Und: wieso nicht gleich die neuen Superglobals $_POST, $_GET, $_SERVEr etc. einssetzen ?
bye
__________________
Metal klingt am besten, wenn man taub ist.
|
|
|
14.04.2004, 13:09
|
#5
|
|
TP-Moderator
Registriert seit: Mar 2003
Ort: Hamburg
|
Oh, die habe ich gar nicht gesehen 
Weiß nicht wieso, sie das nicht machen, aber ich bleibe mal dabei 
danke nochmals
|
|
|
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
|
| Themen-Optionen |
Thema durchsuchen |
|
|
|
| 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.
HTML-Code ist aus.
|
|
|
Alle Zeitangaben in WEZ +2. Es ist jetzt 13:20 Uhr.
|
 |