Avatar billede dhunters Nybegynder
12. januar 2003 - 22:17 Der er 11 kommentarer og
2 løsninger

Skriv til txt-fil

Hei der.

Hvis jeg nu har en list/menu (sådan en rulned der er i forms) og en submit-knap - hvordan får jeg så det jeg vælger i listen til at slette alt hvad der står i en txt-fil og skrive det man nu har valgt i listboxen?

Håber I forstår!
På forhånd tak for hjælpen,
/dhunters
Avatar billede argantork Nybegynder
12. januar 2003 - 22:33 #1
Er det en <SELECT> ?
Avatar billede dhunters Nybegynder
12. januar 2003 - 22:35 #2
Tror det nok... Det er sådan en som når man opretter spørgsmål her på eksperten, hvor man vælger kategori.
Avatar billede ztyxx Nybegynder
12. januar 2003 - 22:42 #3
Avatar billede argantork Nybegynder
12. januar 2003 - 22:42 #4
tilføjes i toppen af siden:
<?
if ($todo == 'Opdater') {
$fil = fopen($filnavn,w+);
fwrite($fil,$select);
fclose($filnavn);
}
?>
formen skal så have action="$PHP_SELF?todo=Opdater"

Tror nok det er det du skal bruge ?
Avatar billede dhunters Nybegynder
12. januar 2003 - 22:53 #5
argantork -> duer ikke...
ztyxx -> ved godt hvordan man åbner og skriver i den "automatisk" - men hvordan vælger man en selectbox til at bestemme hvad der skal stå i filen? Kan du give et eksempel?

/dhunters
Avatar billede ztyxx Nybegynder
12. januar 2003 - 22:55 #6
du lægger en variabel in i
<option name="navn" value="Det der skal sendes">Vælg mig</option>
Avatar billede dhunters Nybegynder
12. januar 2003 - 23:30 #7
Kan f... ikke få det til at virke... Kan I hjælpe mig med det sidste?
her er koden:

<html>
<body>
<form name="form1" method="post" action="<?php echo $PHP_SELF; ?> ">
  <select name="select">
    <option name="option" value="venteliste">venteliste</option>
    <option name="option" value="ledige pladser">ledige pladser</option>
  </select>
<input type="submit" name="Submit" value="Submit">
</form>
<?
$fil = fopen("test.txt",w);
fwrite($fil,"$option");
fclose($fil);
?>
</body>
</html>

Hvad er fejlen???

/dhunters
Avatar billede angam Nybegynder
12. januar 2003 - 23:33 #8
her er et komplet eksempel der virker:

<html>
<head></head>
<body>
<?
if(isset($testselect)) {
    $filename='output.txt';
    $fp=fopen($filename, 'w+');
    fputs($fp, $testselect);
    fclose($fp);
}
?>
<form name=testform action="" method=get>
<select name=testselect>
<option value="Første linie">Første linie
<option value="Anden linie">Anden linie
<option value="Tredie linie">Tredie linie
</select>
<input type=submit value="Submit">
</form>
</body>
</html>

Husk blot at du skal have skrive-rettigheder på serveren for at kunne skrive til output.txt. Som programmet er nu, overskriver den filen hvergang, hvilket vil sige at kun sidste valg er skrevet i filen. Hvis den skal gemme alle de gamle valg (så hvert valg kommer på en ny linie), skal du erstatte 'w+' med 'a'.
Avatar billede angam Nybegynder
12. januar 2003 - 23:34 #9
.. ovenstående var vist et svar :-)
Avatar billede ztyxx Nybegynder
12. januar 2003 - 23:34 #10
du skal muligvis give test.txt chmod 666
Avatar billede angam Nybegynder
12. januar 2003 - 23:36 #11
Tror iøvrigt din fejl er at du mangler gåseøjne om w i din fopen() - w skal være "w" (eller "w+")
Avatar billede dhunters Nybegynder
12. januar 2003 - 23:40 #12
Det virker super, angam! Tak for det! ztyxx får også lige lidt points...
Avatar billede ztyxx Nybegynder
13. januar 2003 - 12:49 #13
takker for point :-)
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester