Helft mir - guestbook.php spinnt :<

Hallo.com :slight_smile:

Da ihr mir schon 3 mal geholfen habt, tue ich das recht ungern
 Aber zur Zeit weiss ich einfach nicht weiter

Ich habe mir ein 150 Zeilen langes GÀstebuch geschrieben, auf TXT basierend, mit BlÀtterfunktion

Naja
 BEVOR ich die BlÀtterfunktion reingeschrieben habe, klappte es wunderbar :<

Naja ich kopiere hier erstmal den Code fĂŒr die Ausgabe der Eintraege, dann die guestbook.txt, dann die Seite und erzĂ€hl ich, was mein Problem ist :frowning:

Ausgabeteil im GĂ€stebuch:

[code]<?php

$eintraege = file('guestbook/guestbook.txt');
rsort($eintraege);
$anzahlseiten = ceil(sizeof($eintraege)/$bproseite);
$num = count($eintraege);


if(!$_GET['showentries']){
	$site = 0;
} else {
	$site = $_GET['showentries']-1;
}

$stelle = $site*$bproseite;
for($x = $stelle; $x < $stelle+$bproseite; $x++){
	if(!$eintraege[$x]){
		break;
	} else {
		$e = explode("|", $eintraege[$x]);

?>







          </table>
          <br><br>
<?php $num--; } } if($site != 0){ $f = $site; echo "< "; } for($x = 1; $x <= $anzahlseiten; $x++){ if($x != $anzahlseiten){ if($x == $_GET['site']){ echo $x.", "; } else { echo "".$x.", "; } } else { if($x == $_GET['site']){ echo $x; } else { echo "".$x.""; } } } if($site != $anzahlseiten-1){ $n = $site+2; echo " >"; }[/code] guestbook.txt: [code]1|24.02.2008|0:20:56|erster|1 2|24.02.2008|0:21:5|zweiter|2 3|24.02.2008|0:21:13|dritter|3 4|24.02.2008|0:21:20|vierter|4 5|24.02.2008|0:21:27|fĂƒÂŒnfter|5 6|24.02.2008|0:21:50|sechster|6 7|24.02.2008|0:22:5|siebter|7 8|24.02.2008|0:22:12|achter|8 9|24.02.2008|0:22:19|neunter|9 10|24.02.2008|0:22:27|zehnter|10[/code] Die Seite selber: [semikolon.bplaced.net/chantrarli ... =guestbook](http://semikolon.bplaced.net/chantrarlies/index.php?site=guestbook) So: Bei der Ausgabe wird es z.Z. folgendermaßen gezeigt: Seite 1: 1, 9, 8, 7, 6, 5 Seite 2: 4, 3, 2, 10 Und ich FINDE den Fehler einfach nicht... Warum ist 1 mit 10 vertauscht?! Manchmal fĂ€ngt er auch bei 9 an, zĂ€hlt auf 1 runter und ganz hinten kommt Eintrag 10... Naja schaut euch die Seite an... Dann versteht ihr mein Problem, wenn ihr es vorher noch nicht verstanden habt.. (was ich verstehen könnte ^^) Wenn ich noch irgendwas posten soll, einfach hier rein schreiben :slight_smile: mfg Semi
".$e[0]." schrieb am “.$e[1].” um “.$e[2].” folgendes:"; ?>
<?php echo $e[3]; ?>

achja
 $num könnt ihr ignorieren, werde ich heute rausschreiben


probier dochmal die zahlen so zu schreiben:
01, 02, 03 ,04, 05, 06 ,07 ,08 ,09, 10

in die guestbook.txt?
nein, da ist das problem nicht, gb.php die .txt ja als array liest und dann bei [0] anfÀngt und hochzÀhlt


deswegen weiss ich eigentlich nicht, woran es liegen könnte :smoke:
das ist schon Àrgerlich, wenn man 2-3 stunden so ein script geschrieben hat ^^

warum benutzt du nicht einfach mysql :ps:
Ansonsten wĂŒrde ich an der BlĂ€tter funktion rumschrauben. Manchmal liegts an falschen Rechnungen etc.

Versuch mal die for, die alle EingtrÀge abarbeitet zu loggen

file_put_contents("gb.log","Eintrag: $i \Ƨ Inhalt: $xyz");

Ich bin mir sicher, dass du den Fehler erkennst, außerdem kannst du das setzen;

error_reporting(E_ALL);

ich kann mit mysql nich umgehen, ich weiss ich sollte das lernen ^^
aber mit textdateien hab ichs gelernt

hast du sonst ein gutes tutorial zu mysql? ich muss es verstehen, schritt fĂŒr schritt und nicht einfach abschreiben :<

ich denke auch, dass es an der blÀtterfunktion liegt, doch da frage ich ja euch, da ich einfach nichts finde :neutral_face:

@michi
in gb.log steht NUR folgende Zeile:

semikolon.bplaced.net/chantrarli 
 ook/gb.log

Warum ausgerechnet und NUR eintrag 5?!

Weils, mein Fehler war :ps:

file_put_contents("gb.log","Eintrag: $i \Ƨ Inhalt: $xyz",FILE_APPEND);

file_put_contents ĂŒberschreibt satndardmĂ€ĂŸig :wink:

Eintrag: 1 Inhalt: erster Eintrag: 9 Inhalt: neunter Eintrag: 8 Inhalt: achter Eintrag: 7 Inhalt: siebter Eintrag: 6 Inhalt: sechster Eintrag: 5 Inhalt: fĂƒÆ’Ă‚ÂŒnfter

.<

wieso hört er bei 5 auf, und warum fĂ€ngt er mit 1 an? wenn ich das script durchgehe und mit den get variablen rechne etc
 kommt bei mir 10 als erstes raus, dann 9, 8, 7 etc
 -.-

interresant o.O
vll, liegts an $array[0] (hast du vll. vergessen, dass PHP bei 0 anfÀngt?)

PS: Deine txt ist im Falschen Format :wink:

naja er soll ja je nachdem, wo get[‘show’] ist im array anfangen und bei get[‘show’]+$bproseite aufhören (blĂ€tterfunktion eben)^^

werde mal mit + oder - 1 was dranhÀngen, mal gucken was passiert

obwohl ich das nicht gerne tue, ich möchte wissen was ich mache :wink:

wie meinst du das, meine txt ist im falschen format?!

wenn ich vor der for-schleife:
echo $e[0];

eintippe, kommt

das verstehe ich nicht 
 es muss sich vorher irgendwo verdreht haben
 kann es sein, dass es an rsort() liegt?

mir array_reverse und krsort ist alles in der richtigen reihenfolge, jedoch falschherum (von 1 aufsteigend nach 10 (eintrÀge))


gibt es eine Àhnliche funktion wie rsort, die die eintraege im array umdreht?
keine ahnung, warum rsort(); es so falsch macht


nimm doch sort() statt rsort()

Sortiere gar nicht o.O
Warum solltest du sortieren?

weil er mit dem letzten eintrag anfangen soll

also 10, 9, 8, 7 
 3, 2, 1, break;

und ich mit der for schleife mit 0 anfange, eintrag 10 aber im array ( file(gb/gb.txt) ) an stelle [9] sitzt


bei sort() sortiert er auch sehr merkwĂŒrdig:
10, 2, 3, 4, 5, 6, 7, 8, 9, 1

einfach nicht sortieren:

for($i=$end_post;$i--;$i > $end_post - $step)

:wink:

SUPER MICHI :hail:

jetzt hab ich allerdings ein nÀchstes problem

get[‚showentries‘] = 2 ignoriert er anscheinend


moment :slight_smile:

muahahaha
es funktioniert!..!!!

tragt euch mal ein ^^
semikolon.bplaced.net/chantrarli 
 =guestbook

habt ihr noch irgendwelche vorschlÀge, was man dran verbessern könnte (bis auf ip sperre (kommt heute noch x) ) )