variable nicht in ordnung..
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
abschlu
array
beitrag
count
datei
dokument
durchgang
durchlauf
eintrag
element
elemente
gstebuch
inhalt
letzte eintrag
sache
schleifen
sinnen
variable
zeichenkette
zeile
-
tja soweit alles in ordnung blo? dass wenn er da die variable completenewdata defininiert, irgendwie blo? der neue eintrag drinsteht und er auch blo? den schreibt... help please!!
[PHP]
$entrys = file("gaestebuch.txt");
if(count($entrys) == 20){
for($x=0;$x<19;$x++){
$entrys[$x] = $entrys[$x+1];
}
$datum= date("d.m.Y H:i:s");
$entrys[19] = "$email|$user|$datum|$inhalt|$homepage";
for($x=0;$x<20;$x++){
$completenewdata = "\n";
$completenewdata .= $entrys[$x];
}
$datei = fopen("gaestebuch.txt", "w");
fwrite($datei, $completenewdata);
fclose($datei);
} else {
$datum= date("d.m.Y H:i:s");
$eintrag="$email|$user|$datum|$inhalt|$homepage";
$datei = fopen("gaestebuch.txt", "a");
fwrite($datei, "\n".$eintrag);
fclose($datei);
}
[/PHP]
Beitrag ge?ndert am 14.08.2005 18:59 von wteam -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Das Script ist so ziemlich komplett unbrauchbar
Du liest mit count() die Datei aus, count() gibt aber jede Zeile des Dokuments in ein eigenes Array-Element, das ist ja sicher nicht sinn der Sache.
Dann ?berpr?fst du, ob das Array genau 20 Elemente hat und nur dann willst du die Elemente des Arrays einfach innerhalb des Arrays verschieben.
Ich sag nur: h?!? Was soll das denn?
Dann definierst du auch einmal ein Element $entrys[19] explizit als Zeichenkette, in der nicht-html-konforme Zeichen '|' verwendet werden.
Als kr?nenden Abschluss hast du dann noch eine nicht funktionierende for() - Schleife drin, die die Variable $completenewdata in jedem Durchlauf neu definiert, also den Wert der aus dem vorherigen Durchgang noch gespeichert war einfach ?berschreibt, und wunderst dich warum nur der letzte Eintrag drin ist.
Vielleicht erstmal ein bischen ?ben, bevor man anf?ngt G?steb?cher zu schreiben.
mfg
cracy-fighters -
Das Script ist so ziemlich komplett unbrauchbar
Du liest mit count() die Datei aus, count() gibt aber jede Zeile des Dokuments in ein eigenes Array-Element, das ist ja sicher nicht sinn der Sache.
nein count z?hlt einfach nur die menge der eintr?ge
Dann ?berpr?fst du, ob das Array genau 20 Elemente hat und nur dann willst du die Elemente des Arrays einfach innerhalb des Arrays verschieben.
Ich sag nur: h?!? Was soll das denn?
tja das ist so, ich will nicht zu viele eintr?ge haben und deshalb l?sch ich den zuletzt gemachten eintrag und schiebe die reihe der eintr?ge einen nach unten, wodurch oben ein neuer platz frei wird, der mit dem neuen eintrag gef?llt wird!
Dann definierst du auch einmal ein Element $entrys[19] explizit als Zeichenkette, in der nicht-html-konforme Zeichen '|' verwendet werden.
das hat sich wohl erledigt
Als kr?nenden Abschluss hast du dann noch eine nicht funktionierende for() - Schleife drin, die die Variable $completenewdata in jedem Durchlauf neu definiert, also den Wert der aus dem vorherigen Durchgang noch gespeichert war einfach ?berschreibt, und wunderst dich warum nur der letzte Eintrag drin ist.
wenn ein punkt (.) vor dem definitionsgleichzeichen ist, heisst das, dass der inhalt an die variable angeh?ngt wird
Vielleicht erstmal ein bischen ?ben, bevor man anf?ngt G?steb?cher zu schreiben.
und als kr?nenden abschluss sagst du mir dann auch noch ich soll erst mal ?ben, obwohl du keinen plan hast..
mfg
-
Das Script ist so ziemlich komplett unbrauchbar
Du liest mit count() die Datei aus, count() gibt aber jede Zeile des Dokuments in ein eigenes Array-Element, das ist ja sicher nicht sinn der Sache.
nein count z?hlt einfach nur die menge der eintr?ge
Dann ?berpr?fst du, ob das Array genau 20 Elemente hat und nur dann willst du die Elemente des Arrays einfach innerhalb des Arrays verschieben.
Ich sag nur: h?!? Was soll das denn?
tja das ist so, ich will nicht zu viele eintr?ge haben und deshalb l?sch ich den zuletzt gemachten eintrag und schiebe die reihe der eintr?ge einen nach unten, wodurch oben ein neuer platz frei wird, der mit dem neuen eintrag gef?llt wird!
Dann definierst du auch einmal ein Element $entrys[19] explizit als Zeichenkette, in der nicht-html-konforme Zeichen '|' verwendet werden.
tja das "|"-zeichen benutze ich um den beitrag erstmal zusammen in eine textdatei zu schreiben und wenn ich den beitrag ausgeben will splitte ich das ganze einfach..
Als kr?nenden Abschluss hast du dann noch eine nicht funktionierende for() - Schleife drin, die die Variable $completenewdata in jedem Durchlauf neu definiert, also den Wert der aus dem vorherigen Durchgang noch gespeichert war einfach ?berschreibt, und wunderst dich warum nur der letzte Eintrag drin ist.
wenn ein punkt (.) vor dem definitionsgleichzeichen ist, heisst das, dass der inhalt an die variable angeh?ngt wird
Vielleicht erstmal ein bischen ?ben, bevor man anf?ngt G?steb?cher zu schreiben.
und als kr?nenden abschluss sagst du mir dann auch noch ich soll erst mal ?ben, obwohl du keinen plan hast..
mfg
-
1. zu count():
Jup sry bin in der Zeile verrutscht, muss nat?rlich file() hei?en.
2. zu den Eintr?gen:
F?r ein GB nicht sonderlich sinnvoll aber wenn du es so haben m?chtest.
3. zu dem '|':
K, Irrtum meinerseits.
4. zu der Schleife:
Ja, mit .= wird der Variable der folgende Wert angeh?ngt. In deinem Fall
for($x=0;$x<20;$x++){
$completenewdata = "\n";
$completenewdata .= $entrys[$x];
}
bestimmst du die Variable $completenewdata dennoch jedes mal mit einem einfachen Gleichzeichen '=' neu. Wenn das ein ebenfalls ein .= werden sollte musst du die Variable immernoch vor der Schleife zumindest definieren, damit du was anh?ngen kannst.
5. und letztens:
Schade, dass man dumm zugeflamed wird wenn man vesucht zu helfen. Jeder hatte mal Probleme beim Programmieren und ?ber dein Niveaut bin ich schon lange hinaus, das wollen wir mal klarstellen.
Bitte vielmals um Entschuldigung, es wird nie wieder vorkommen, dass ich versuche dir zu helfen.
mfg
cracy-fighters
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage