Gå til innhold

txt fil endre.


Anbefalte innlegg

Hei jeg har en gjestebok script som jeg bruker.

Hver gang noen skriver i gjesteboka blir den skrevet i en txt fil.

 

Hver gang noen skriv piss så må jeg gå innom ftpen og redigere det.

 

Vet noen om noen løsninger om hvordan jeg kan redigere utenom å gå til ftpen.

Lenke til kommentar
Videoannonse
Annonse

Du har sikkert delt av filen slik at hvert innlegg er separert med noe. f.eks komme (,), semikolon(;) eller liknende. PHP har en funksjon som heter fgetcsv. Den henter ut verdier fra en csv-fil og legger det inn i en array.

 

Det du gjør er å lage en editor som du passord beskytter.

 

Det editoren gjør er å bla igjennom filen med en for løkke og lager en liten form hvor du kan velge ut i fra navn, epost eller hva du måtte ønske. Deretter kan du velge slette eller kommentere eller liknende.

 

Hvis filformatet er

"Navn", "Dato", "Epost", "Url", "Tekst", "kommentar" så vil koden se ca. slik ut:


<?php

function LestGjestebokFil($GjestebokFil)

{

$linjelengde=1024;

$Teller=0;

$gbok=fopen($GjestebokFil, "r");

while ($NyttInnlegg=fgetcsv($gbok, $linjelengde))

{

  $Gjestebok[$Teller][Navn]=$NyttInnlegg[0];

  $Gjestebok[$Teller][Dato]=$NyttInnlegg[1];

  $Gjestebok[$Teller][Epost]=$NyttInnlegg[2];

  ....

  $Teller+=1;

};

return $Gjestebok

};

?>

<form method="post">

<select name="Innlegg">

<?php

 $Gbok=LesGjestebokFil("mingjestebok.cvs");

//$Gbok er nå en array som inneholder alt i gjesteboken

 for ($Cnt=0; $Cnt<count($Gbok); $Cnt+=1)

  echo "<option value="$Cnt" name="$Gbok[$Cnt][Navn]" />";

 echo "</select>

 echo '<input type="submit" value="Select" name="Velg"><br>';

 if (isset($_POST[Innlegg]))

 {

   VisInnlegg($_POST[Innlegg]);

 };

 echo '<input type="submit" value="Delete" name="Slett">';

?>

 

Jeg orket ikke å skrive VisInnlegg funksjonen da den bare viser innholdet i det valgte innlegget.

 

Håper dette var forståelig.

Lenke til kommentar
Du har sikkert delt av filen slik at hvert innlegg er separert med noe. f.eks komme (,), semikolon(;) eller liknende. PHP har en funksjon som heter fgetcsv. Den henter ut verdier fra en csv-fil og legger det inn i en array.

 

Det du gjør er å lage en editor som du passord beskytter.

 

Det editoren gjør er å bla igjennom filen med en for løkke og lager en liten form hvor du kan velge ut i fra navn, epost eller hva du måtte ønske. Deretter kan du velge slette eller kommentere eller liknende.

 

Hvis filformatet er

"Navn", "Dato", "Epost", "Url", "Tekst", "kommentar" så vil koden se ca. slik ut:


<?php

function LestGjestebokFil($GjestebokFil)

{

$linjelengde=1024;

$Teller=0;

$gbok=fopen($GjestebokFil, "r");

while ($NyttInnlegg=fgetcsv($gbok, $linjelengde))

{

  $Gjestebok[$Teller][Navn]=$NyttInnlegg[0];

  $Gjestebok[$Teller][Dato]=$NyttInnlegg[1];

  $Gjestebok[$Teller][Epost]=$NyttInnlegg[2];

  ....

  $Teller+=1;

};

return $Gjestebok

};

?>

<form method="post">

<select name="Innlegg">

<?php

 $Gbok=LesGjestebokFil("mingjestebok.cvs");

//$Gbok er nå en array som inneholder alt i gjesteboken

 for ($Cnt=0; $Cnt<count($Gbok); $Cnt+=1)

  echo "<option value="$Cnt" name="$Gbok[$Cnt][Navn]" />";

 echo "</select>

 echo '<input type="submit" value="Select" name="Velg"><br>';

 if (isset($_POST[Innlegg]))

 {

   VisInnlegg($_POST[Innlegg]);

 };

 echo '<input type="submit" value="Delete" name="Slett">';

?>

 

Jeg orket ikke å skrive VisInnlegg funksjonen da den bare viser innholdet i det valgte innlegget.

 

Håper dette var forståelig.

 

Hei BlueEAGLE takk for at du svarte på innlegget mitt, jeg er nybegynner og lastet den scriptet ferdig lagd fra htmlhjelp.no

Den koden du skrev kan jeg bruke den til å redigere det???

Lenke til kommentar

Vel, du kan legge til/fjerne ting i arrayen og så skrive den tilbake til filen.

 


<?php

Function SkrivTilFil($Fil, $Data)

{

$S='", "'; //Separerer hver entry

$Gbok=fopen($Fil, "w");

for ($Cnt=0; $Cnt<count($Data); $Cnt+=1)

{

 $Line='"'$Data[$Cnt][Navn].$s.$Data[$Cnt][Dato].$s.$Data[$Cnt][Epost].$s.$Data[$Cnt][Url].$s.$Data[$Cnt][Tekst].$s.$Data[$Cnt][Kommentar].'"';

 fputs($Gbok, $Line);

};

}

Kan være greit å ha en midlertidig array som du dytter på gjestebok-arrayen slik at nyeste innlegg kommer øverst.

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...