Zorro Skrevet 23. februar 2006 Del Skrevet 23. februar 2006 Supert forum. Jeg har nettopp begynnt å sette meg litt inn i PHP og har funnet masse god info på dette forumet. Jeg lager en hjemmeside med et gjestebokscript (PHP) jeg har funnet på nettet. Jeg vil at siste innlegg i gjesteboka skal kopieres og legges på førstesiden. Dette har jeg fått til ved å skrive variablen $comments til en fil lastentry.txt. Innholdet i fila slettes når ny tekst blir skrevet til den, slik at siste innlegg alltid er det eneste som er i fila. Innholdet i lastentry.txt inkluderer jeg så der jeg vil ha det med include. Koden ser slik ut: $LastEntryName = "lastentry.txt"; $LastEntryHandle = fopen($LastEntryName, 'w') or die("Kan ikke åpne filen!"); fputs($LastEntryHandle,$comments); fclose($LastEntryHandle); Så spørsmålet: Hvordan kan jeg få med navnet på den som har skrevet sist i gjesteboka dersom navnet ligger i variablen $name slik at det blir seende omtrent slik ut: Kåre skriver: Hei, tøff side du har laget... bla bla bla. eller: $name skriver: $comments Noen som skjønner hva jeg mener og som vil gi meg noen hint? Lenke til kommentar
kakkle Skrevet 23. februar 2006 Del Skrevet 23. februar 2006 (endret) Du kan f.eks skrive akkurat det du vil ha til filen: $filecontent = "$name skriver:\n$comments"; Også skriver du bare variabelen $filecontent til filen, istedetfor $comments, hvis skjønner hva jeg mener... EDIT: Og når du skal skrive det ut, kan du bruke funksjonen nl2br() /k Endret 23. februar 2006 av kakkle Lenke til kommentar
Zorro Skrevet 23. februar 2006 Forfatter Del Skrevet 23. februar 2006 Hei, takk for hjelpen. Dessverre ser det ikke ut til at jeg får det til i det hele tatt nå Jeg tror jeg skjønte hva du mente, og har gjort slik: $filecontent = "$name skriver:\n $comments"; $LastEntryName = "lastentry.txt"; $LastEntryHandle = fopen($LastEntryName, 'w') or die("Kan ikke åpne filen!"); fputs($LastEntryHandle,$filecontent); fclose($LastEntryHandle); Når jeg åpner lastentry.txt ser jeg at det er blitt skrevet til den slik jeg ønsket, og så langt fungerer det jo helt supert. Men der jeg vil ha dette innholdet der står det nå bare "Array"?? Kan det ha noe med at jeg i stedet for å legge innholdet direkte der jeg vil ha det, istedet legger det i en php-fil lastbook.php?? lastbook.php: <?php $file = file("http://home.no.net/crappage/lastentry.txt"); echo nl2br($file); ?> Jeg inkluderer deretter lastbook.php der jeg vil ha den.. men der står det nå altså bare "Array"?? Er det litt tungvindt å gjøre det slik, eller er det noe annet jeg gjør feil? Lenke til kommentar
kakkle Skrevet 23. februar 2006 Del Skrevet 23. februar 2006 (endret) Det er fordi funksjonen file() henter hver linje i filen, og legger det i et array. Slik at $file[0] = 1. linje, $file[1] = 2.linje osv... Du kan heller bruke file_get_contents(), som henter hele innholdet av filen. Sett dette inn i lastbook.php: <?php $file = file_get_contents("http://home.no.net/crappage/lastentry.txt"); echo nl2br($file); ?> Dersom dette ligger på samme server, så trenger du heller ikke å skrive hele adressen med http://... Jeg anbefaler deg ellers å se på filsystem funksjonene på php.net Der har du oversikt over alle filsystem funksjonene som er i php. Ta deg litt tid og se litt rundt der, så lærer du nok mye av bare å se på eksempler. EDIT: la inn link på file() funksjonen også /K Endret 23. februar 2006 av kakkle Lenke til kommentar
Zorro Skrevet 23. februar 2006 Forfatter Del Skrevet 23. februar 2006 Jippi! Nå fungerer det helt supert! Tusen takk for hjelpen, kakkle 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å