php.de

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

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 10.02.2005, 18:08  
Gast
 
Beiträge: n/a
Standard Gästebuch eintragsreihenfolge umkehren

also, ich habe zusammen mit nem kumpel ein gästebuch geschrieben, aber der älteste beitrag kommt da zuerst^^
Das wollen wir raus haben, aber ein ändern bei fopen bewirkt, dass gar nix kommt und beim öffnen für den einträg wird bei einer änderung
immer der erste überschrieben.

Hier is der code:
Zitat:
<?php
@error_reporting(-1);
?>
<html>
<head>
<title>News</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body bgcolor="#FFFFFF" text="#000000">

<table width="400" border="0">
<tr>
<th>Von</th><th>Nachricht</th><th>Am/Um</th>
</tr>
<?php
$dateiname='gaestebuch.txt';
$datum= strftime ("%d.%m.%Y | %H:%M", time());
if ( !empty($_POST['sender']) && !empty($_POST['text']))
{
$_POST=array_map('stripslashes',$_POST);
$_POST=array_map('htmlentities',$_POST);
$ausgabe='<tr><td>'.$_POST['sender'].'</td><td>'.$_POST['text'].'</td><td>'.$datum.'</td></tr>';
$datei = fopen ($dateiname, "a+");
if($datei)
{
fputs ($datei, $ausgabe);
fclose($datei);
}
}

if(file_exists($dateiname) && is_readable($dateiname) && filesize($dateiname)>0)
{
$datei=fopen($dateiname, "r");
if($datei)
{
echo fread($datei,filesize($dateiname));
fclose($datei);
}
}
?>
</table>

<form name="Eintrag" method="post" action="">
<table width="100%" border="0" cellspacing="3" cellpadding="0">
<tr>
<td width="40%"></td>
<td>

<input type="submit" name="Senden" value="Senden">
<input type="reset" name="Reset" value="Zur&uuml;cksetzen">
</td>
</tr>
<tr>
<td>Login und Passwort:</td>
<td>
<input type="text" name="sender" maxlength="50" size="30">
<input name="password" type="password" id="password" size="30" maxlength="50"> </td>
</tr>
<tr>
<td>Was gibt es neues?
</td>
<td>
<textarea name="text" cols="100" rows="5"></textarea>
</td>
</tr>
</table>
</form>

</body>

</html>
 
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 10.02.2005, 18:13  
Gast
 
Beiträge: n/a
Standard

Ein Gästebuch mit Dateien ist auch nicht das Gelbe vom Ei, mit einer DB ist das besser. Zwei Möglichkeiten:

1. Beim Speichern einen Betrages dafür sorgen, das der neue Beitrag am Anfang der Datei steht
2. Die Datei vor der Ausgabe komplett in eine Array schreiben und dieses rückwärts ausgeben.

Ich würde Punkt 1 bevorzugen.

Gruß
phpfan
 
Alt 10.02.2005, 18:15  
Erfahrener Benutzer
 
Registriert seit: 02.04.2008
Beiträge: 2.603
Corvin befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Ich würde Punkt 1 bevorzugen.
Ich auch, das ist nämlich viel schneller.
Corvin ist offline  
Alt 10.02.2005, 18:16  
Gast
 
Beiträge: n/a
Standard

ja, aber dann gibt es immer nur einen eintrag, der überschrieben wird^^
 
Alt 10.02.2005, 18:21  
Moderator
 
Benutzerbild von robo47
 
Registriert seit: 03.09.2004
Beiträge: 11.792
PHP-Kenntnisse:
Fortgeschritten
robo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz sein
Standard

datei auslesen -> neuen eintrag in variable davorsetzen
-> variable wieder in datei schreiben.

mfg
robo47
robo47 ist offline  
Alt 10.02.2005, 18:24  
Erfahrener Benutzer
 
Registriert seit: 02.04.2008
Beiträge: 2.603
Corvin befindet sich auf einem aufstrebenden Ast
Standard

Nein, so kannst du an den Anfang einer Datei schreiben, ohne das der bereits enthaltene Inhalt gelöscht wird:
PHP-Code:
<?php 
  $datei 
fopen("text.txt","r"); 
  
$inhalt fgets($dateifilesize($datei)); 
  
$alles "text".$inhalt
  
fwrite($datei$alles); 
  
fclose($datei); 
?>
(ungetestet)
Corvin ist offline  
Alt 10.02.2005, 18:28  
Gast
 
Beiträge: n/a
Standard

hmmm
ich glaub ich mach das mit der datenbank
 
Alt 10.02.2005, 18:28  
Gast
 
Beiträge: n/a
Standard

Zitat:
Zitat von Corvin Gröning
Nein, so kannst du an den Anfang einer Datei schreiben, ohne das der bereits enthaltene Inhalt gelöscht wird:
Das ist ein schlechter Schwerz, ein File zum Lesen zu öffnen und dann frwite() zu benutzen.
 
Alt 10.02.2005, 18:32  
Erfahrener Benutzer
 
Registriert seit: 02.04.2008
Beiträge: 2.603
Corvin befindet sich auf einem aufstrebenden Ast
Standard

Ups...
PHP-Code:
<?php
$datei 
fopen("text.txt","r"); 
?>
muss natürlich so aussehen:
PHP-Code:
<?php
$datei 
fopen("text.txt","w+"); 
?>
Corvin ist offline  
Alt 10.02.2005, 18:38  
Gast
 
Beiträge: n/a
Standard

Zitat:
Zitat von Corvin Gröning
Ups...
PHP-Code:
<?php
$datei 
fopen("text.txt","r"); 
?>
muss natürlich so aussehen:
PHP-Code:
<?php
$datei 
fopen("text.txt","w+"); 
?>
Nur mit rewind()! Sonst zeigt der Pointer nach Lesen auf das Dateiende.
 
 


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
Farbe umkehren rbs_phoenix PHP Tipps 2006 10 07.12.2006 18:58
MYSQL sortierung umkehren PHP Tipps 2007 6 13.12.2005 10:14
Suchergebnis umkehren PHP Tipps 2004 5 04.11.2004 14:04
Farben umkehren :: Tool ? Off-Topic Diskussionen 10 16.08.2004 11:10

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php gästebuch einträge umkehren, php dateiausgabe rückwärts, gästebuch umkehren, php gästebuch umkehren, blogger gästebucheinträge umdrehen, gästebuch eintragsreihenfolge ändern, $_post[] umkehren !, texte umkehren html rückwerts gästebuch, datenbank eintragsreihenfolge umkehren, php datei das datum umdrehen, fget php dateiende rückwärts, dateiausgabe umkehren php, if (file_exists(\gaestebuch.txt\) && filesize(\gaestebuch.txt\) > 1) {

Alle Zeitangaben in WEZ +2. Es ist jetzt 06:13 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.