oya Skrevet 13. september 2004 Del Skrevet 13. september 2004 (endret) Har et lite script for å legge inn nyheter på en hjemmeside. Vil ha de nyeste øverst, men de kommer nederst slik scriptet er nå. Noen som kan hjelpe meg til å få det til. <? if (empty($login)) { exit(); } if(strcmp($login,"xxxxxxx")==0 && strcmp($passwd,"xxxxxxx")==0) { ?> <? $today = date("d.m.y");?> <? $fp =fopen ("sider/news.txt", "aw"); fputs ($fp,"$today - $text <br><br>"); fclose ($fp); print ("<p>Du har skrevet $text på news</p>"); ?> <a href="index.php?id=index">Tilbake</a> <? } else { echo "Feil brukernavn og passord"; } ?> Ferdig kode ble slik (for de som ikke orker å scrolle ned): <? if (empty($login)) { exit(); } if(strcmp($login,"xxxxxxx")==0 && strcmp($passwd,"xxxxxxx")==0) { $today = date("d.m.y"); $fila = file("sider/news.txt"); foreach($fila as $rad) { $minne .= $rad; }; $fp = fopen ("sider/news.txt", "w+"); fputs ($fp, $today . " - " . $text . "<br><br>" . $minne); fclose ($fp); print ("<p>Du har skrevet $text på news</p>"); ?> <a href="index.php?id=index">Tilbake</a> <? } else { echo "Feil brukernavn og passord"; } ?> Endret 14. september 2004 av oya Lenke til kommentar
Gilbert Skrevet 13. september 2004 Del Skrevet 13. september 2004 $fp =fopen ("sider/news.txt", "r+"); http://no.php.net/manual/en/function.fopen.php Lenke til kommentar
oya Skrevet 13. september 2004 Forfatter Del Skrevet 13. september 2004 funker ikke. Alt som er i filen blir da slettet Lenke til kommentar
Torbjørn Skrevet 13. september 2004 Del Skrevet 13. september 2004 r+ vil ikke fungere, noe som står beskrevet i manualen: Open for reading and writing; place the file pointer at the beginning of the file. mao vil fila overskrives fra starten av fila. for å få inn innhold øverst i en fil, må du åpne fila, lese den inn i minnet (f.eks vha file() ) og deretter skrive nytt innhold til fila fra toppen og legge inn det gamle innholdet etter dette. Lenke til kommentar
oya Skrevet 13. september 2004 Forfatter Del Skrevet 13. september 2004 Noen som kan lage koden til meg? Jeg er ikke så veldig flink med php. Er flinkest til å redigere script Lenke til kommentar
eXZire Skrevet 13. september 2004 Del Skrevet 13. september 2004 (endret) <? if (empty($login)) { exit(); } if(strcmp($login,"xxxxxxx")==0 && strcmp($passwd,"xxxxxxx")==0) { $today = date("d.m.y"); $minne = file("sider/news.txt"); $minne = implode("", $minne); $fp = fopen ("sider/news.txt", "w+"); fputs ($fp, $today . " - " . $text . "<br><br>" . $minne); fclose ($fp); print ("<p>Du har skrevet $text på news</p>"); ?> <a href="index.php?id=index">Tilbake</a> <? } else { echo "Feil brukernavn og passord"; } ?> Burde gjøre susen? Om du har eldre PHP versjon enn 4.3.0 kan det hende den ikke funker, pga at implode'en slik den brukes her antageligvis ikke fungerer i eldre versjoner edit: Seriøs skriveleif i koden Edit2: Jævla +tegn i w'en som kom for tidlig Endret 14. september 2004 av eXZire Lenke til kommentar
oya Skrevet 14. september 2004 Forfatter Del Skrevet 14. september 2004 funker ikke. Har hjemmesiden på home.no.net... vet ikke helt hvilken versjon de har, men skulle jo anta at de har en ganske nyere versjon Lenke til kommentar
Torbjørn Skrevet 14. september 2004 Del Skrevet 14. september 2004 <?php phpinfo(); ?> Lenke til kommentar
Gilbert Skrevet 14. september 2004 Del Skrevet 14. september 2004 funker ikke. Alt som er i filen blir da slettet Næmmen daså.... Intern torbjørn: er visst ikke helt ferdig med det stadiet du nevne i pm'en Lenke til kommentar
eXZire Skrevet 14. september 2004 Del Skrevet 14. september 2004 (endret) EDIT: Denne vil nå funke, men anbefaler heller at du bruker den lenger opp <? if (empty($login)) { exit(); } if(strcmp($login,"xxxxxxx")==0 && strcmp($passwd,"xxxxxxx")==0) { $today = date("d.m.y"); $fila = file("sider/news.txt"); foreach($fila as $rad) { $minne .= $rad; }; $fp = fopen ("sider/news.txt", "w+"); fputs ($fp, $today . " - " . $text . "<br><br>" . $minne); fclose ($fp); print ("<p>Du har skrevet $text på news</p>"); ?> <a href="index.php?id=index">Tilbake</a> <? } else { echo "Feil brukernavn og passord"; } ?> Endret 14. september 2004 av eXZire Lenke til kommentar
oya Skrevet 14. september 2004 Forfatter Del Skrevet 14. september 2004 funker ikke den heller. ingen feilmeldinger. Blir rett å slett ikke lagt inn i filen. Lenke til kommentar
Gilbert Skrevet 14. september 2004 Del Skrevet 14. september 2004 hvordan er det med CHMOD-ing i slike situasjoner? Lenke til kommentar
eXZire Skrevet 14. september 2004 Del Skrevet 14. september 2004 MONSTERTABBE Herregud! Hadde visst gått litt fort i svingene da jeg skrev "+w".. skal seff være "w+" Lenke til kommentar
Torbjørn Skrevet 14. september 2004 Del Skrevet 14. september 2004 et par småtterier: *) bruk <?php istedet for <? *) husk at login og passord må hentes fra $_GET eller $_POST *) strenger kan sammenlignes med ==, strcmp blir å skyte spurv med uzi *) file_get_contents eller join("",file("filename")) for å hente ut filinnhold som streng fjartan: alle har små huller Lenke til kommentar
eXZire Skrevet 14. september 2004 Del Skrevet 14. september 2004 (endret) join er alias for implode.. brukte det på det første skriptet, trodde da det ikke gikk pga gammel php versjon eller noe, så gikk derfor til foreach'en (Viste seg jo at det var en litt for rask + i "w+" som var feilen, ikke implode. Må visst begynne å lese igjennom innlegg igjen gitt ) edit: just for the record: Vil bare si at jeg personlig ville gjort ting annerledes, bl.a. tatt inn det Torbjørn sier, men jeg gadd ikke endre på hele skriptet.. Endret 14. september 2004 av eXZire Lenke til kommentar
oya Skrevet 14. september 2004 Forfatter Del Skrevet 14. september 2004 funker... .. Tusen takk for hjelpen 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å