alenmeister Skrevet 21. februar 2007 Del Skrevet 21. februar 2007 Har laget en gjestebok som bruker en fil som database. Kunne brukt MySQL og ja, jeg vet det ville vært enklere, men jeg vil prøve noe nytt. Akkurat nå sliter jeg med en liten ting, jeg vil prøve å sortere innleggene. Altså, det nye kommer øverst. Hva bør jeg gjøre? Her finner du strukturen av scripte: http://anigma.sitees.com/Guestbook/index.phps http://anigma.sitees.com/Guestbook/lagre.phps Her kan du prøve selve scripte: http://anigma.sitees.com/Gjestebok/index.php Jeg vet at scripte er litt rotete og man ikke burde bruke html slik jeg gjør det. Men bare se vekk fra det og hjelp meg med sortering Hilsen Alen Lenke til kommentar
mske Skrevet 21. februar 2007 Del Skrevet 21. februar 2007 (endret) i index.php kan du endre dette: <?php $file = "innlegg.txt"; if (fopen($file, "r")) { $fil = "innlegg.txt"; $fo = fopen ($fil, "r"); $con = fread ($fo,filesize ($fil)); fclose ($fo); echo "$con"; } else { echo "Beklager, tekniske problemer."; } ?> til dette: <?php $file = "innlegg.txt"; $file = file($file); // Gjør filen om til en array $file = array_reverse($file); //reverserer arrayen $file = implode("\r\n", $file); echo "$file"; if(!file_exists("innlegg.txt")) { echo "Filen eksisterer ikke"; } ?> Tror det skal fungere Endret 21. februar 2007 av -Magne- Lenke til kommentar
alenmeister Skrevet 21. februar 2007 Forfatter Del Skrevet 21. februar 2007 Tusen takk, skal prøve! Lenke til kommentar
alenmeister Skrevet 21. februar 2007 Forfatter Del Skrevet 21. februar 2007 Det funket, men det ødelegger html-koden helt. Sjekk, http://anigma.sitees.com/Gjestebok/index.php Lenke til kommentar
alenmeister Skrevet 21. februar 2007 Forfatter Del Skrevet 21. februar 2007 Hva kan jeg gjøre? Burde jeg kanskje brukt XML eller noe slikt? Lenke til kommentar
CruellaDeVille Skrevet 21. februar 2007 Del Skrevet 21. februar 2007 Hva kan jeg gjøre? Burde jeg kanskje brukt XML eller noe slikt? 7995289[/snapback] Det du kan gjøre er å droppe html i gjestebok-filen din og heller bare skrive dataene, adskilt med feks | og når du leser det inn igjen gjør du formateringen der. Da slipper du at rekkefølgen på taggene dine blir &¤%#¤%. Lenke til kommentar
kakkle Skrevet 21. februar 2007 Del Skrevet 21. februar 2007 (endret) Har gjort noen få endringer: lagre.php: <?php $file = "innlegg.txt"; $dato = date("d.m.y g:i"); $navn = $_POST['navn']; $epost = $_POST['epost']; $innlegg = $_POST['innlegg']; $innlegg = stripslashes($innlegg); $epost = stripslashes($epost); $navn = stripslashes($navn); $innlegg = str_replace ("<","<",$innlegg); $innlegg = str_replace ("\n","<br>",$innlegg); $epost = str_replace ("<","<",$epost); $epost = str_replace ("\n","<br>",$epost); $navn = str_replace ("<","<",$navn); $navn = str_replace ("\n","<br>",$navn); if(empty($navn) || empty($epost) || empty($innlegg)) { echo "Alle felt må fyldes ut!"; } else { $gamle_innlegg = file_exists($file)?file_get_contents($file):""; $fp = fopen($file,"w"); fwrite($fp, ' <table width="390" cellspacing="1"> <tr><td style="width: 100px">Dato:</td> <td style="width: 290px">'.$dato.'</td></tr> <tr><td>Navn:</td> <td><a href="mailto:'.$epost.'">'.$navn.'</a></td></tr> <tr><td valign="top">Kommentar:</td> <td>'.$innlegg.'</td></tr> </table><br /> '.$gamle_innlegg); fclose($fp); echo 'Takk '.$navn.', for at du signerte gjesteboken min.</p>'; } ?> <?php echo "<p><a href='index.php'>Tilbake til gjesteboken</a></p>"; ?> index.php: <html> <head> <title>joheim.no</title> </head> <body> <h2>Gjestebok</h2> <u>Skrive i gjesteboken:</u><br /> <br /> <form method="post" action="lagre.php"> <table width="390" cellspacing="1"> <tr><td style="width: 100px">Navn:</td> <td><input type="text" name="navn" /></td></tr> <tr><td>Epost:</td> <td><input type="text" name="epost" /></td></tr> <tr><td valign="top">Kommentar:</td> <td><textarea name="innlegg" rows="4" cols="40" style="width: 278px;"></textarea></td></tr> <tr><td></td> <td><input type="submit" value="Send hilsen" /></td></tr> </table> </form> <u>Innlegg:</u><br /><br /> <?php $file = "innlegg.txt"; if (file_exists($file)) { $fil = "innlegg.txt"; $fo = fopen ($fil, "r"); $con = fread ($fo,filesize ($fil)); fclose ($fo); echo "$con"; } else { echo "Beklager, ingen innlegg"; } ?> </body> </html> EDIT: For at alle innelggene skal komme i omvendt rekkefølge, så avhenger det av at filen (innlegg.txt) ikke innholder noen innlegg som er i riktig rekkefølge, hvis du mener hva jeg forstår Endret 21. februar 2007 av kakkle Lenke til kommentar
alenmeister Skrevet 21. februar 2007 Forfatter Del Skrevet 21. februar 2007 Takk for all hjelpen alle sammen! Fikk det til nå Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå