ich habe den code eines gästebuch das man im internet finden erweitert. folgende version bedient sich noch nicht der selbsterstellten module, milan und dookie wissen was ich meine.
jedenfalls tritt das problem bei dieser alten version genauso auf, wie bei der neuen die eben das auslesen der textdatei über ein modul bezieht, dort kann der fehler also nicht liegen. der fehler ist schlicht gesagt seeeeeeeehr seltsam. stellt euch vor in dem gästebuch steht eine menge von z.b. 10 oder 15 (spielt keine rolle) einträge. plötzlich beim abschicken eines weiteren eintrages, wird dieser zwar hinzugefügt aber bis auf die letzten drei (inkl. neuem) verschwindet der rest!
hier der code:
Code: Alles auswählen
#!/usr/local/bin/python
import cgi, urllib, string
puffer=cgi.FieldStorage()
try:
name=puffer["name"].value
eintrag=puffer["eintrag"].value
name=cgi.escape(name,['&','<','>'])
eintrag=cgi.escape(eintrag,['&','<','>'])
ergebnis="<p><b>"+name+"</b> schrieb:</p><p>"+eintrag+"</p>"
pfad='/var/www/web188/html/crossover/'
dateiname='gaestebuch.txt'
text=pfad+dateiname
datei=open(text, 'r')
inhalt=datei.readline()
ergebnis=ergebnis+inhalt
datei.close()
datei=open(text, 'w')
datei.write(ergebnis)
datei.close()
print "Location: http://www.weberanto.net/crossover/gaestebuch.shtml \n\n"
except:
print "Location: http://www.weberanto.net/crossover/gaestebuch.shtml \n\n"
1. ich lasse kein html zu
2. ich wollte erreichen, dass die neuen einträge ganz oben stehen.
der einfachste weg schien mir, mal den inhalt zu lesen, ihn dann an das ergebnis des neuen eintrages anzuhängen und dann alles neu reinzuschreiben.
ist da schon irgendwas nicht in ordnung?
ich habe jetzt schon wochenlang immer wieder darüber gehirnt, aber mir fällt da keine sinnvolle erklärung ein.
mfg
rolgal