Gå til innhold

Trenge eks anngående lagring av tekst og henting.


Anbefalte innlegg

Hei.

 

Jeg og en annen holder på med wow guild webside.

Og har følgende problem akkurat nå.

 

Hvordan kan jeg gjøre det slik at man har en admin side der man har opp eks 4 tittel bokser som man kan skrive i.

Følgende boksene: Navn, tittel, historie, beskrivelse. (Ses bedre på screenshot)

 

Vi skal ha admin side som lar folk skrive om sin egen spiller.

Det med innlogging osv har vi.

 

Men må få til at folk skriver det i tittel bokser og kan trykke på lagre. Og så blir alt lagret i txt filer.

Og hvordan skal jeg gjøre det med at den skal hente alt opp ifra fil og så legge det på rett plass i websiden slik at alle andre kan se.

 

Jeg må ha det gjort i plain php og ingen bruk av mysql.

 

Noen som kan hjelpe meg på vei? Eks med å vise eks script?

som sagt. Så må noen av tittel boksene ha mulighet for å kunne bruke scroll. Siden det kan bli mye tekst.

post-9639-1133473156_thumb.jpg

Lenke til kommentar
Videoannonse
Annonse

Det du vil bruke er såkalt "flatfil". Denne bygger du opp som du selv vil.

Eksempel på en flatfil:

Navn|Alder|Adresse|Email
Arne|45|liatoppen|[email protected]
Jonas|34|Bordveien|[email protected]

| er da en såkal delimiter (skilletegn). Her kan du forsåvidt bruke hva som helst (F.eks "|#-|#"). Dette brukes for å skille de forskjellige feltene slik at du vet hva som er hva. Pass på at dersom noen skriver inn skilletegnet i et tekstfelt, vil dette ødelegge hele flatfilen. Det kan derfor være greit å bruke et skilletegn som sjelden vil forekomme i tekster, eller å bytte ut skilletegnet som blir skrevet inn med et annet tegn.

Eksempel på å skrive til denne filen:

$datafil = "Personer.txt";
$navn = "Per";
$alder = "20";
$adresse = "Persveien";
$email = "nei";
$linje "$navn|$alder|$adresse|$email\n"; // Dette er linjen som skal settes inn i filen. "\n" er for linjeskift
$writefile = fopen($datafil, "a") // a betyr append, og legger til på slutten av filen. Dersom filen ikke eksisterer, blir den opprettet
fwrite("$linje", $writefile);
fclose($writefile);

Dette vil føre til at datafilen nå ser slik ut:

Navn|Alder|Adresse|Email
Arne|45|liatoppen|[email protected]
Jonas|34|Bordveien|[email protected]
Per|20|Persveien|nei

For å hente ut data, kan bruke følgende:

$datafil = "personer.txt";
if(file_exists($datafil)) {
  $readfile = file($datafil); // Legger hver linje inn i et array, $readfile
  foreach ($readfile as $data) { //Looper gjennom linje for linje
      list($navn, $alder, $adresse, $epost) = explode("|", $data); //Merk skilletegnet
      echo "Navn: $navn<br>";
      echo "Alder: $alder<br>";
      //osv
   }
}

Denne skal da forhåpentligvis skrive ut:

Navn: Navn
Alder: Alder
Navn:Arne
Alder:45
Navn:Jonas
Alder:34
Navn:Per
Alder:20

for mer informasjon og flere eksempler, se:

http://no.php.net/filesystem

Her finner du også linker videre til de andre fil funksjonene som er brukt.

For å se mer på explode;

http://no.php.net/explode

 

EDIT: Hvis du lurer på hvorfor den skriver ut Navn:Navn og Alder:Alder, så er det fordi dette står øverst i filen. Den linjen kan du evt fjerne, eller lese den inn i et array først, slik at du har feltnavnene.

Endret av kakkle
Lenke til kommentar
Noen som vet hvordan jeg kan få lagret det i textarea over i en flatfil når man klikker på en knapp etter man har skrevet noe?

5252851[/snapback]

Legg textareaet i en form?

 

Uansett, bør du merke deg at måten kakkle kom med, ikke anbefales. Å legge variabler etter hverandre, med en seperator, og deretter hente inn disse igjen med explode er helt dødfødt. Til dette har vi serialize() og unserialize()-funksjonene (kalt «pickling» i java og python). Veldig sansynlig du virkelig må sette deg inn i dette for å forstå det; men iallefall har jeg laga et proof of concept for å vise hva det går ut på: http://dabear.frac.dk/pickle/pickle.php

Kildekoden finner du her: http://dabear.frac.dk/pickle/pickle.php?source=yes

 

Håper virkelig du setter deg inn i dette, og ikke sier «nei dette skjønner jeg ikke», før du har prøvd deg litt fram.

Endret av dabear
Lenke til kommentar

Hmm. Ser ut som alt fungerer egentlig. Har fått til en del i dag.

Bruker textarena siden det gjør det meste av jobben.

 

Eneste. Er det mulighet å hente inn en txt fil i textarena og få den til å ikkje vise html kode?

Eller må jeg satse på annen måte å lagre på i fil?

Bruker html kode i txt filen siden det skal få med seg <br>.

Endret av XeLix
Lenke til kommentar

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 konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...