02. januar 2006 - 22:01Der er
29 kommentarer og 1 løsning
gem tekst fra TEXTAREA
Jeg er i gang med at udvikle et system på min hjemmeside så det er muligt at skrive til en tekstfil uden at være logget ind på FTP serveren, dette havde jeg tænkt mig skulle fungerer ved hjælp af HTML og PHP. i HTML har jeg lavet et textarea og en submit knap:
Jeg er ikke nogen HTML haj, og det meste af ovenstående har jeg hentet forskellige steder fra nettet, men sådan som jeg forstår det skulle det linke over til "uploader.php" og sende dataen fra text1 med under navnet "data", her er min PHP fil:
<?php $filename = 'tekstfil.txt';
if (is_writable($filename)) {
if (!$handle = fopen($filename, 'a')) { echo "Kan ikke åbne filen ($filename)"; exit; }
if (fwrite($handle, $data) === FALSE) { echo "Kan ikke skrive til ($filename)"; exit; }
echo "Success, skrev ($data) i filen ($filename)";
fclose($handle);
} else { echo "Filen $filename er ikke skrivbar"; } ?>
Men jeg får bare en blank side når jeg trykker Submit! Hvad kan der være galt?
Jeg får stadig bare en blank skærm... Jeg har kopieret din HTML kode uden nogen modifikationer overhovedet, og så ændrede jeg min PHP fil så den ser sådan ud:
Nej hov! Det virker! Jeg var bare så dum at jeg prøvede at køre det direkte på min egen computer! Glemte at PHP var et serverside sprog (og tag dig ikke af min ændring fra $_POST til $_GET... det var bare lidt desperati) Smid et svar!
Jeg er stødt ind i et lille problem, når jeg trykker submit bliver min nye tekst skrevet i bunden af den første tekst, hvilket ikke var meningen, hvordan kan jeg rette det?
Hvad er resouce context? Jeg programmerer normalt ikke i PHP, men skal lige bruge denne lille ting til hjemmesiden. Kunne du evt. få det til at passe ind i den PHP fil jeg allerede har lavet? Håber ikke det er for besværligt.
Min teori er at filen skal eksisterer før man kan skrive til den, og den eksisterer jo ikke når først man har slettet den med "unlink ( $filename );" Så skal der vel oprettes en ny tekstfil med samme navn, efter man har slettet den? Hvordan gør man isåfald det?
Nu eksisterer filen hele tiden, men der bliver ikke skrevet noget i den... Når jeg kommer hen til PHP filen får jeg følgende besked: Success, skrev () i filen (tekstfil.txt)
Og det er påtrods af at jeg skrev noget i tekstboksen!
Alting virker perfekt nu, det var bare det der $_GET der skulle duskiftes med $_POST, her er den endelige kode hvis andre skulle være i samme situation som mig:
Ja næsten alt er godt... jeg kom nemlig lige til at se at mine linieskift i Teaxtareaet ikke kommer med over i tekstfilen! Eksempelvis skriver jeg følgende i Textareaet: Hej med dig Dette er en testbesked Hilsen Therichman
Bliver til: hej med dig dette er en testbesked Hilsen therichman
i tekstfil.txt... er der en måde at løse dette problem på?
Ja ok... testede lige med tekstfil.txt, og der hopper det godt nok med over, men til et andet formål har jeg fået PHP filen til at gemme i html format (side.html) og når jeg skriver til den kommer linieskiftene ikke med over... er der evt. en replace funktion så jeg kan udskifte linieskiftene med "<p> </p>"? for isåfald ville mit problem jo være løst...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.