Avatar billede alpapa Nybegynder
02. januar 2003 - 20:33 Der er 73 kommentarer og
2 løsninger

Skriv til en tekstfil fra en form - snøft

Godt nytår alle - tja, jeg sidder stadig og bøvler med at skrive til en tekstfil fra en form - please help
alpapa
Avatar billede alpapa Nybegynder
02. januar 2003 - 20:40 #1
Skriver fra denne side: http://www.whyweb.dk/skriv_og_send.php
Koden på denne side ser således ud:
<?
$filename = "dataentry/top_uge.txt";
$fd = fopen ($filename, "w");
$top_uge = fread ($fd, filesize ($filename));
fclose($fd);
?>
<body>
<form name="form1" id="form1" method="post" action="modtag.php">
<input name="top_uge" type="text" size="6" maxlength="6" value="<? echo $top_uge ?>">
<input type="submit" name="Submit" value="Opdater">
</form>
</body>

Der bliver desværre ikke gemt noget i min tekstfil :-(
Avatar billede Slettet bruger
02. januar 2003 - 20:52 #2
Det ville være meget meget underligt, hvis der blev skrevet noget til din fil.
Avatar billede alpapa Nybegynder
02. januar 2003 - 20:54 #3
hæhæ - okay, gider du uddybe det?
Avatar billede Slettet bruger
02. januar 2003 - 20:56 #4
Du kalder 4 fil-relaterede funktioner i dit script:
  fopen
  fread
  fclose
  filesize
Tror du nogle af disse skriver noget til filen?
Avatar billede alpapa Nybegynder
02. januar 2003 - 20:59 #5
Aner det ikke, er lige begyndt på PHP - hvordan skal det scriptes så det virker?
Avatar billede francodavid Nybegynder
02. januar 2003 - 21:01 #6
mercur8 -> Du kan da ikke se hvad der er i hans 'modtag.php'.....
Avatar billede francodavid Nybegynder
02. januar 2003 - 21:02 #7
alpapa -> Post din kode til 'modtag.php' så man kan se hvad du har lavet galt der.
Avatar billede Slettet bruger
02. januar 2003 - 21:03 #8
Nå, det så jeg slet ikke, sorry.
Avatar billede alpapa Nybegynder
02. januar 2003 - 21:05 #9
<?
$top_uge= $_REQUEST[top_uge];
$filename = "dataentry/top_uge.txt";
$fd = fopen ($filename, "r");
$top_uge = fread ($fd, filesize ($filename));
fclose ($fd);
?>
<body>
<table width="100" height="20" border="1" bordercolor="#CCCCCC">
  <tr>
<td width=52><? echo $top_uge ?></td>
  </tr>
</table>
</body>
Avatar billede francodavid Nybegynder
02. januar 2003 - 21:08 #10
Så er spørgsmålet, hvordan vil du have at din top_uge.txt skal se ud?
Avatar billede alpapa Nybegynder
02. januar 2003 - 21:08 #11
Denne virker fint, jeg kan skrive noget i min tekstfil (med notesblok) og uploade den - det kan den godt finde ud af, bare ikke det med at gemme data'erne.
Avatar billede Slettet bruger
02. januar 2003 - 21:09 #12
Nåmen så kan jeg alligevel fortsætte min elendige pædagogik:

open = åben
read = læs
close = luk
filsize = filstørrelse

Tror du nu nogle af disse skriver noget til filen?

Læs: http://dk.php.net/fwrite
Avatar billede alpapa Nybegynder
02. januar 2003 - 21:09 #13
>francodavid  --  Det forstår jeg ikke?
Avatar billede francodavid Nybegynder
02. januar 2003 - 21:11 #14
Det var mere om det du skal poste via siden skal fylde hele filen, tilføjes i starten eller i slutningen af filen.
Avatar billede alpapa Nybegynder
02. januar 2003 - 21:11 #15
>mercur8  --  Har du et løsningsforslag???
Avatar billede Slettet bruger
02. januar 2003 - 21:12 #16
alpapa: Det er det forkerte sted at spørge, hvis du vil have en færdig løsning.
Avatar billede alpapa Nybegynder
02. januar 2003 - 21:17 #17
Hva' mener du egentlig med det - dette er et site som giver point for rigtige svar, hvis du ikke er villig til at hjælpe for point så lad være med at kommentere spørgsmål herfra og koncentrere dig om sharksforum istedet!
Avatar billede Slettet bruger
02. januar 2003 - 21:28 #18
Du efterlyser for det første ikke hjælp til programmering, men en færdig løsning, fordi du er for doven til at sætte dig ind i tingene (bare yde et minimum af en indsats). Det link jeg gav dig indeholder faktisk en veldokumenteret opskrift på at skrive til en fil.

Endvidere. Du tager fejl også mht. din sidste kommentar. Ønsker du en færdig løsning skal du oprette dig spørgsmål i:

http://www.eksperten.dk/kat/299

Det kan umiddelbart virke tåbeligt, at spørgsmålet skal oprettes dér og ikke her. Men sådan er det. Og det er netop for at undgå disse diskussioner.

Ligesom det er en god idé at læse/have kendskab til manualen for det sprog hvori man programmerer, er det en god ting at have kendskab til retningslinjerne (hvis nogle) for det website man anvender.
Avatar billede alpapa Nybegynder
02. januar 2003 - 21:36 #19
Du er da en kedelig fætter - for det første kan du da overhovedet ikke udtale dig om det du skriver om mig!
For det andet kan jeg godt skrive og gemme i en tekstfil:

$top_uge = $_REQUEST[top_uge];
$filename = "dataentry/top_uge.txt";
$fp = fopen ($filename, "w");
fputs($fp,"Dette er en skrive test");
fclose ($fp);

Havde bare problemer med at gøre det fra en form.
Kalder du det en færdig løsning???

Vær så venlig ikke at poste flere kommentarer i dette spørgsmål - er kommet for at få lidt hjælp og ikke for at skændes med dig!
alpapa
Avatar billede Slettet bruger
02. januar 2003 - 21:43 #20
Jamen nu går det da den rigtige vej:

Hvis PHP version >= 4.1.0

fputs($fp, $_REQUEST['top_uge']);

ellers

fputs($fp, $top_uge);
Avatar billede alpapa Nybegynder
02. januar 2003 - 21:51 #21
Hvorfor svarer du nu???
PHP 4.2.3
Det virker ikke - har prøvet det
Avatar billede Slettet bruger
02. januar 2003 - 21:54 #22
Fordi nu ser da ud som om, du i det mindste prøver at skrive til filen. Sidst du pastede din modtag.php, gjorde du ikke. Og nu er vi jo lige blevet så gode venner.

Hvordan ser modtag.php ud nu?
Avatar billede alpapa Nybegynder
02. januar 2003 - 21:59 #23
Hvis jeg lagde scriptet:

$top_uge = $_REQUEST[top_uge];
$filename = "dataentry/top_uge.txt";
$fp = fopen ($filename, "w");
fputs($fp,"Dette er en skrive test");
fclose ($fp);

ind på http://www.whyweb.dk/skriv_og_send.php ville der stå:

Dette er en skrive test

Det er fint nok - problemet ligger i at skrive fra formen til tekstfilen.
Avatar billede francodavid Nybegynder
02. januar 2003 - 22:02 #24
$filename = "dataentry/top_uge.txt";
$fp = fopen ($filename, "w");
fputs($fp,$_REQUEST[top_uge]);
fclose ($fp);
Avatar billede Slettet bruger
02. januar 2003 - 22:03 #25
Din modtag.php skal bare indeholde:

$filename = "dataentry/top_uge.txt";
$fp = fopen ($filename, "w");
fputs($fp, $_REQUEST['top_uge']);
fclose ($fp);

Du kan evt. tilføje echo $_REQUEST['top_uge']; i din modtag.php i toppen, for at se, at det du skriver på skriv_og_send.php siden, bliver overført til modtag.php korrekt.

Endvidere er der ingen grund til at opdele i 2 filer. Men altså, det kan du jo samle senere.
Avatar billede alpapa Nybegynder
02. januar 2003 - 22:11 #26
Desværre er der ingen af jeres løsningsforslag der virker :-(
Avatar billede francodavid Nybegynder
02. januar 2003 - 22:17 #27
Smid HELE din modtag.php her tak.
Avatar billede alpapa Nybegynder
02. januar 2003 - 22:21 #28
You got it:
<?
$top_uge= $_REQUEST[top_uge];
$filename = "dataentry/top_uge.txt";
$fd = fopen ($filename, "r");
$top_uge = fread ($fd, filesize ($filename));
fclose ($fd);
?>
<body>
<table width="100" height="20" border="1" bordercolor="#CCCCCC">
  <tr>
<td width=52><? echo $top_uge ?></td>
  </tr>
</table>
</body>
Avatar billede francodavid Nybegynder
02. januar 2003 - 22:33 #29
Lav lige en echo på $_REQUEST[top_uge] og se om den måske skulle være tom.
Avatar billede Slettet bruger
02. januar 2003 - 22:39 #30
Du bliver ved med ikke at have nogen fputs i din modtag.php.
Avatar billede alpapa Nybegynder
02. januar 2003 - 22:40 #31
Nu har jeg lagt scriptet:

$top_uge = $_REQUEST[top_uge];
$filename = "dataentry/top_uge.txt";
$fp = fopen ($filename, "w");
fputs($fp,"Dette er en skrive test");
fclose ($fp);

ind på http://www.whyweb.dk/skriv_og_send.php

Tryk på Opdater og I kan se at scriptet på http://www.whyweb.dk/modtag.php ikke fejler noget - det er kun mit skrivescript fra formen der er noget i vejen med.
Avatar billede turengaartil Nybegynder
03. januar 2003 - 01:00 #32
Det her virker for mig! er det, du søger...:

----------- index . php ------------------------

<HTML>
<HEAD>
  <TITLE>Doc-edit</TITLE>
<link rel="stylesheet" type="text/css" href="style.css">
</HEAD>
<BODY>
  <?
    $MyDoc = 'style.css';
    If (!$_REQUEST['Text']) {
  ?>                       
    <FORM ACTION="index.php" Method='Post'>
    <TEXTAREA NAME='Text'><? ReadFile($MyDoc); ?></TEXTAREA>
    <BR>
    <INPUT TYPE="Submit" VALUE="OK">
    </FORM>
  <? } Else {
    $F = FOpen($MyDoc,'w');
    FWrite($F,$_REQUEST['Text']);
    FClose($F);
    Echo "<SPAN CLASS='ShowRed'>Ændringerne er gemt</SPAN><BR><BR>";
    Echo "<A HREF='index.php'>Tilbage til tekstfeltet</A>";
    }
  ?>
</BODY>
</HTML>
Avatar billede alpapa Nybegynder
03. januar 2003 - 01:09 #33
Uhh - ja, det tror jeg det er, skal bare lige prøve mig lidt frem med nogle ændringer - er ikke så skrap til PHP endnu :-)
alpapa
Avatar billede turengaartil Nybegynder
03. januar 2003 - 01:15 #34
du ændrer selvfølgelig bare i $MyDoc til hvilket dokument der skal ændres...
Avatar billede alpapa Nybegynder
03. januar 2003 - 01:16 #35
Har ændret det til følgende:

<HTML>
<HEAD>
</HEAD>
<BODY>
  <?
    $MyDoc = 'dataentry/top_uge.txt';
    If (!$_REQUEST['text']) {
  ?>                       
    <FORM ACTION="modtag.php" Method='Post'>
    <input name="top_uge" type="text" size="6" maxlength="6"<? ReadFile($MyDoc); ?>>
    <INPUT TYPE="Submit" VALUE="OK">
    </FORM>
  <? } else {
    $F = fopen($MyDoc,'w');
    fwrite($F,$_REQUEST['text']);
    fclose($F);
    }
  ?>
</BODY>
</HTML>
Avatar billede alpapa Nybegynder
03. januar 2003 - 01:18 #36
Kan du finde mine fejl ? :-)
Avatar billede francodavid Nybegynder
03. januar 2003 - 01:20 #37
fwrite($F,$_REQUEST['text']);
Skal være:
fwrite($F,$_REQUEST['top_uge']);
Avatar billede francodavid Nybegynder
03. januar 2003 - 01:21 #38
og
If (!$_REQUEST['text']) {
Skal være:
If (!$_REQUEST['top_uge']) {
Avatar billede alpapa Nybegynder
03. januar 2003 - 01:21 #39
Ja, det har jeg lige rettet - stadig intet?
Avatar billede francodavid Nybegynder
03. januar 2003 - 01:22 #40
Og denne er forkert syntax, ved ikke lige hvad du ville med den:
<input name="top_uge" type="text" size="6" maxlength="6"<? ReadFile($MyDoc); ?>>
Avatar billede turengaartil Nybegynder
03. januar 2003 - 01:26 #41
hvorfor bruger du ikke:

<TEXTAREA NAME='Text'><? ReadFile($MyDoc); ?></TEXTAREA>

???

Hvis du vil ændre designet, kan du gøre det med CSS...
Avatar billede alpapa Nybegynder
03. januar 2003 - 01:26 #42
Okay - virker stadig ikke
Avatar billede alpapa Nybegynder
03. januar 2003 - 01:27 #43
okay bruger:
<TEXTAREA NAME='Text'><? ReadFile($MyDoc); ?></TEXTAREA>
Avatar billede turengaartil Nybegynder
03. januar 2003 - 01:28 #44
post lige din nuværende kode...
Avatar billede alpapa Nybegynder
03. januar 2003 - 01:28 #45
Hmm - det er sgu da mystisk det her?
Avatar billede alpapa Nybegynder
03. januar 2003 - 01:29 #46
<HTML>
<HEAD>
</HEAD>
<BODY>
  <?
    $MyDoc = 'dataentry/top_uge.txt';
    if (!$_REQUEST['top_uge']) {
  ?>                       
    <form action="modtag.php" method='post'>
    <TEXTAREA NAME='Text'><? readfile($MyDoc); ?></TEXTAREA>
    <input type="Submit" value="OK">
    </form>
  <? } else {
    $F = fopen($MyDoc,'w');
    fwrite($F,$_REQUEST['top_uge']);
    fclose($F);
    }
  ?>
</BODY>
</HTML>
Avatar billede francodavid Nybegynder
03. januar 2003 - 01:29 #47
Post lige al din kode igen!
Avatar billede francodavid Nybegynder
03. januar 2003 - 01:31 #48
Doh:
<form action="modtag.php" method='post'>
Skal være:
<form action="skriv_og_send.php" method='post'>
Avatar billede francodavid Nybegynder
03. januar 2003 - 01:32 #49
alpapa -> Det turengaartil har givet dig som løsning er til EN fil ikke til TO! dvs GLEM din modtag.php!
Avatar billede alpapa Nybegynder
03. januar 2003 - 01:32 #50
Så bliver den jo på den samme side?
Avatar billede turengaartil Nybegynder
03. januar 2003 - 01:33 #51
koden skal bare gemmes i modtag.php
Avatar billede alpapa Nybegynder
03. januar 2003 - 01:33 #52
okay
Avatar billede francodavid Nybegynder
03. januar 2003 - 01:33 #53
alpapa -> Ja!
Avatar billede turengaartil Nybegynder
03. januar 2003 - 01:34 #54
samt <textarea name='Text'>...
skal hedde <textarea name='top_uge'>...

virker på min comp...
Avatar billede alpapa Nybegynder
03. januar 2003 - 01:37 #55
Øhh - nu er jeg lidt forvirret.
Denne kode skal vel være på min send side:

<HTML>
<HEAD>
</HEAD>
<BODY>
  <?
    $MyDoc = 'dataentry/top_uge.txt';
    if (!$_REQUEST['top_uge']) {
  ?>                       
    <form action="modtag.php" method='post'>
    <TEXTAREA NAME='top-uge'><? readfile($MyDoc); ?></TEXTAREA>
    <input type="Submit" value="OK">
    </form>
  <? } else {
    $F = fopen($MyDoc,'w');
    fwrite($F,$_REQUEST['top_uge']);
    fclose($F);
    }
  ?>
</BODY>
</HTML>
Avatar billede francodavid Nybegynder
03. januar 2003 - 01:41 #56
Det er din modtag.php!
Avatar billede turengaartil Nybegynder
03. januar 2003 - 01:41 #57
hvad hedder denne fil ???
Avatar billede alpapa Nybegynder
03. januar 2003 - 01:46 #58
Ovenstående kode ligger på siden
http://www.whyweb.dk/skriv_og_send.php

Nedenstående kode ligger på http://www.whyweb.dk/modtag.php

<?
$top_uge= $_REQUEST[top_uge];
$filename = "dataentry/top_uge.txt";
$fd = fopen ($filename, "r");
$top_uge = fread ($fd, filesize ($filename));
fclose ($fd);
?>
<body>
<table width="100" height="20" border="1" bordercolor="#CCCCCC">
  <tr>
<td width=52><? echo $top_uge ?></td>
  </tr>
</table>
</body>
Avatar billede turengaartil Nybegynder
03. januar 2003 - 01:46 #59
alpapa ???? virker det ???
Avatar billede turengaartil Nybegynder
03. januar 2003 - 01:47 #60
du behøves kun at have det i en fil !!!!!!
Avatar billede alpapa Nybegynder
03. januar 2003 - 01:47 #61
Nope - desværre ikke
Avatar billede alpapa Nybegynder
03. januar 2003 - 01:48 #62
Okay - gør det er forskel?
Avatar billede turengaartil Nybegynder
03. januar 2003 - 01:49 #63
JA !!!!
Avatar billede turengaartil Nybegynder
03. januar 2003 - 01:50 #64
og <form action... skal pege på den fil som det ligger i !!!
Avatar billede alpapa Nybegynder
03. januar 2003 - 01:53 #65
Meningen er jo at der skal skrives til tekstfilen top_uge.txt
Der bliver ikke skrevet i min .txt fil ???
Avatar billede Slettet bruger
03. januar 2003 - 01:55 #66
Der mangler en ske og et stort sølvfad.

alpapa: Jeg har igennem flere år på Eksperten set mange dårlige tråde, men du slår nok efterhånden dem alle. Din indstilling til tingene er mildest talt kritisabel (og lang fra konstruktiv).

Du yder ingen indsats selv overhovedt, og skriver afsted med "hovedt under armen". Gentagelser på gentagelser. Der er en grund til at du har brugt så lang tid på noget så elementært: Du tænker dig ikke om.

Jeg kan kun anbefale dig at holde dig væk fra alt det ligner programmering, og i fremtiden betale dig fra løsningerne.
Avatar billede alpapa Nybegynder
03. januar 2003 - 01:57 #67
Tak endnu engang for de rosende ord mercur8 - det er jo en fornøjelse at læse dine indlæg...
Avatar billede turengaartil Nybegynder
03. januar 2003 - 01:59 #68
jeg giver snart mercur8 ret...

på modtag.php er der følgende nu:

<body>
<table width="100" height="20" border="1" bordercolor="#CCCCCC">
  <tr>
<td width=52></td>
  </tr>
</table>
</body>

- smid nu oven-ovenstående kode ind i modtag.php !!!
Avatar billede turengaartil Nybegynder
03. januar 2003 - 02:01 #69
koden som du selv postede 01:37:10
Avatar billede turengaartil Nybegynder
03. januar 2003 - 02:04 #70
prøv at smide txt-filen i samme mappe som modtag.php og fjern dataentry fra sourcen...
Avatar billede alpapa Nybegynder
03. januar 2003 - 02:08 #71
Har ikke skrivetilladelse i den mappe -
læg et svar og i får point for indsatsen.
alpapa
Avatar billede turengaartil Nybegynder
03. januar 2003 - 02:10 #72
ohhh myyyy goddddddddddd !!!

nå, men den her virker 100% sikkert i filen modtag.php:

<HTML>
<HEAD>
</HEAD>
<BODY>
  <?
    $MyDoc = 'dataentry/top_uge.txt';
    if (!$_REQUEST['text']) {
  ?>                       
    <form action="modtag.php" method='post'>
    <TEXTAREA NAME='text'><? readfile($MyDoc); ?></TEXTAREA>
    <input type="Submit" value="OK">
    </form>
  <? } else {
    $F = fopen($MyDoc,'w');
    fwrite($F,$_REQUEST['text']);
    fclose($F);
    }
  ?>
</BODY>
</HTML>
Avatar billede alpapa Nybegynder
03. januar 2003 - 02:12 #73
Hva mener du med: ohhh myyyy goddddddddddd !!! ???
Avatar billede turengaartil Nybegynder
03. januar 2003 - 02:14 #74
misforstod det med skrive rettighederne... !!!

jeg troede lige først du mente dataentry-mappen...
Avatar billede alpapa Nybegynder
03. januar 2003 - 02:21 #75
Synes ærlig talt at tonen er lidt ubehagelig...
Hvorfor farar I sådan op! Tag det dog roligt.
Der er ikke nogle af de scripts I har kommet med der har skrevet i min .txt fil. Det kan eventuelt ha' noget med CHMOD rettigheder at gøre - ved det ikke.
alpapa
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