oya Skrevet 13. september 2004 Rapporter 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 Siter Lenke til kommentar
Gilbert Skrevet 13. september 2004 Rapporter Del Skrevet 13. september 2004 $fp =fopen ("sider/news.txt", "r+"); http://no.php.net/manual/en/function.fopen.php Siter Lenke til kommentar
oya Skrevet 13. september 2004 Forfatter Rapporter Del Skrevet 13. september 2004 funker ikke. Alt som er i filen blir da slettet Siter Lenke til kommentar
Torbjørn Skrevet 13. september 2004 Rapporter 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. Siter Lenke til kommentar
oya Skrevet 13. september 2004 Forfatter Rapporter 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 Siter Lenke til kommentar
eXZire Skrevet 13. september 2004 Rapporter 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 Siter Lenke til kommentar
oya Skrevet 14. september 2004 Forfatter Rapporter 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 Siter Lenke til kommentar
Torbjørn Skrevet 14. september 2004 Rapporter Del Skrevet 14. september 2004 <?php phpinfo(); ?> Siter Lenke til kommentar
Gilbert Skrevet 14. september 2004 Rapporter 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 Siter Lenke til kommentar
eXZire Skrevet 14. september 2004 Rapporter 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 Siter Lenke til kommentar
oya Skrevet 14. september 2004 Forfatter Rapporter Del Skrevet 14. september 2004 funker ikke den heller. ingen feilmeldinger. Blir rett å slett ikke lagt inn i filen. Siter Lenke til kommentar
Gilbert Skrevet 14. september 2004 Rapporter Del Skrevet 14. september 2004 hvordan er det med CHMOD-ing i slike situasjoner? Siter Lenke til kommentar
eXZire Skrevet 14. september 2004 Rapporter Del Skrevet 14. september 2004 MONSTERTABBE Herregud! Hadde visst gått litt fort i svingene da jeg skrev "+w".. skal seff være "w+" Siter Lenke til kommentar
Torbjørn Skrevet 14. september 2004 Rapporter 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 Siter Lenke til kommentar
eXZire Skrevet 14. september 2004 Rapporter 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 Siter Lenke til kommentar
oya Skrevet 14. september 2004 Forfatter Rapporter Del Skrevet 14. september 2004 funker... .. Tusen takk for hjelpen Siter Lenke til kommentar
Anbefalte innlegg
Bli med i samtalen
Du kan publisere innhold nå og registrere deg senere. Hvis du har en konto, logg inn nå for å poste med kontoen din.