[php] textfile bewerken

Pagina: 1
Acties:

  • Mark309
  • Registratie: September 2001
  • Niet online

Mark309

Ook wel Piet

Topicstarter
zouden jullie mij kunnen helpen.
Ik gebruik deze eerste code om een txt file te selecteren.
En de 2e code om hem te bewerken en op te slaan.
De 2e code werkt perfect zolang ik een vaste bestandsnaam gebruik. byv. test.txt hij opent en schijft het dan perfect weg.

maar zodra ik $file gebruik gaat het mis bij het submitten. hij geeft dan deze error

Warning: fopen("","w") - No error in c:\phpdev3\www\pcsocket\test.php on line 5

Warning: Supplied argument is not a valid File-Handle resource in c:\phpdev3\www\pcsocket\test.php on line 6

hier even de codes
code 1: index.php
PHP:
1
<?if($Submit) {header("location:test.php?file=txtfiles/$zoekfile");exit();} else {print"<form method=post><select name=zoekfile>";if (!$dir) {       }$rep=opendir(txtfiles);while ($file = readdir($rep)) {      if($file != '..' &amp;&amp; $file !='.' &amp;&amp; $file !=''){            if (is_dir($file)){                  echo "";                  }            else {                  echo "<option value=$file>$file</option>";            }                  }}closedir($rep);clearstatcache();print"</select><input type=Submit name=Submit value=Submit></form>";}?>

code2: test.php
PHP:
1
<? if ($submit) { $fp = fopen("$file", "w"); fwrite($fp, stripslashes($newdata)); fclose($fp); } $fp = fopen("$file", "r"); while (!feof($fp)) { $data .= fgets($fp, 4096); } fclose($fp); ?> <html> <head> <title>Untitled</title> </head> <body> <form action="<? print $PHP_SELF; ?>" method="post"> <textarea name="newdata" rows="10" cols="40"> <? print $data; ?> </textarea> <br><br><input type="submit" name="submit" value="Submit"> </form> </body> </html>?>

het zal hoop ik een heel klein foutje zijn maar ik kan hem niet vinden :?

Productman.nl - Helpt startups in de Achterhoek en Liemers - https://www.wiegaaterverhuizen.nl - Versla de makelaar ;)


Verwijderd

Warning: fopen("","w") - No error in c:\phpdev3\www\pcsocket\test.php on line 5
Wat valt je daar aan op? Juist, $file was dus leeg. Ook niet vreemd aangezien je de bestandsnaam in $zoekfile stopt ipv $file.

  • Grum
  • Registratie: Juni 2001
  • Niet online
change dit ook aub:
code:
1
2
3
4
5
<form method=post>

naar

<form method="post" action="test.php">

Verwijderd

zoals ik het kan zien staat er niets in de variable $file
PHP:
1
<?<select name=zoekfile>?>

moet nog denk ik iets worden als
PHP:
1
<?<select name=file>?>

Verwijderd

Damn, weer eens te laat :'(

  • Mark309
  • Registratie: September 2001
  • Niet online

Mark309

Ook wel Piet

Topicstarter
oke dank jullie wel voor de reacties, ik zal het even nakijken als het is gelukt post ik het even. :)

Productman.nl - Helpt startups in de Achterhoek en Liemers - https://www.wiegaaterverhuizen.nl - Versla de makelaar ;)


Verwijderd

Mag ik je even wijzen op de veiligheid van dit script? Als ik handmatig bijvoorbeeld even c:\autoexec.bat in 'zoekfile' als variabele meegeef, overschrijf ik zo elke bestand dat ik wil.

  • Mark309
  • Registratie: September 2001
  • Niet online

Mark309

Ook wel Piet

Topicstarter
Op vrijdag 05 april 2002 16:22 schreef Zef het volgende:
Mag ik je even wijzen op de veiligheid van dit script? Als ik handmatig bijvoorbeeld even c:\autoexec.bat in 'zoekfile' als variabele meegeef, overschrijf ik zo elke bestand dat ik wil.
Zef bedankt voor de tip, het is nu nog niet belangrijk omdat ik het nog voor mezelf en een paar andere mensen gebruik, maar ik zal er zeker aan denken.

Productman.nl - Helpt startups in de Achterhoek en Liemers - https://www.wiegaaterverhuizen.nl - Versla de makelaar ;)


  • Mark309
  • Registratie: September 2001
  • Niet online

Mark309

Ook wel Piet

Topicstarter
Het wil nog niet echt lukken hier, zou iemand hem anders even willen testen op server. :?

Productman.nl - Helpt startups in de Achterhoek en Liemers - https://www.wiegaaterverhuizen.nl - Versla de makelaar ;)


  • Grum
  • Registratie: Juni 2001
  • Niet online
Wat lukt er precies niet ?

  • Mark309
  • Registratie: September 2001
  • Niet online

Mark309

Ook wel Piet

Topicstarter
Op vrijdag 05 april 2002 16:54 schreef Grum het volgende:
Wat lukt er precies niet ?
Als ik verander wat er hier gezegd wordt krijg ik de volgende errors:

Warning: fopen("","w") - No error in c:\phpdev3\www\pcsocket\test.php on line 5

Warning: Supplied argument is not a valid File-Handle resource in c:\phpdev3\www\pcsocket\test.php on line 6

Warning: Supplied argument is not a valid File-Handle resource in c:\phpdev3\www\pcsocket\test.php on line 7

Warning: fopen("","r") - No error in c:\phpdev3\www\pcsocket\test.php on line 10

Warning: Supplied argument is not a valid File-Handle resource in c:\phpdev3\www\pcsocket\test.php on line 11

Warning: Supplied argument is not a valid File-Handle resource in c:\phpdev3\www\pcsocket\test.php on line 12

en hierna blijft hij hele tijd regel 11 en 12 als fout aangeven. hij opent alles perfect maar naar het op submit drukken gaat het pas mis. (submit in de 2e pagina)

Productman.nl - Helpt startups in de Achterhoek en Liemers - https://www.wiegaaterverhuizen.nl - Versla de makelaar ;)


  • Grum
  • Registratie: Juni 2001
  • Niet online
geef je $file wel mee dan ? (NEE ;))

  • Mark309
  • Registratie: September 2001
  • Niet online

Mark309

Ook wel Piet

Topicstarter
Op vrijdag 05 april 2002 17:00 schreef Grum het volgende:
geef je $file wel mee dan ? (NEE ;))
Zou je dit dan misschien iets duidenlijker uit willen leggen ? ik probeer pas sinds kort php en heb ook al boeken gehaald bij de bieb, alleen deze pagina wil nog niet zo werken.

edit:
ik ga nu eerst werken, k ben ook maar een arme student :P ik leest het vanavond/vannacht wel als er nog wat gepost wordt

Productman.nl - Helpt startups in de Achterhoek en Liemers - https://www.wiegaaterverhuizen.nl - Versla de makelaar ;)


  • TheRebell
  • Registratie: Oktober 2000
  • Laatst online: 09-09 08:43
Hmmm...hij werkt totdat je een file gaat veranderen en daarna wil saven. Dan wordt ie lekker recursief :P whoei..

ff kijken of ik het 1.2..3.. kan vinden (denk het niet want ik ga zo maffen)

pfffff....nou alstu knul....je foutje dr uit gehaald.. Je moet alleen ff een redirect opnieuw erin zetten..
PHP:
1
<? if ($submit) {     $fp = fopen("$file", "w");     fwrite($fp, stripslashes($newdata));     fclose($fp);} $fp = fopen("$file", "r"); while (!feof($fp)) {     $data .= fgets($fp, 4096);} fclose($fp);?> <html> <head> <title>Untitled</title> </head><body> <form action="<? print $PHP_SELF; ?>" method="post"> <textarea name="newdata" rows="10" cols="40"> <? print $data; ?> </textarea> <br><br><input type="submit" name="submit" value="Submit"> <input type="hidden" name="file" value="<? echo $file; ?>"> </form> </body> </html>?>

..wat ben ik toch weer aardig vandaag.. :D
btw: kijk nog wel even naar je beveiliging hoor, die in nu wel een beetje bagger...(dat mag je zelf doen)

ps: die onderste escape uit php moet je ff skippen, komt door posten..

  • TheRebell
  • Registratie: Oktober 2000
  • Laatst online: 09-09 08:43
vreemd...mocht je zelf wat in de url invullen dan kom je weer in ene loop terecht....

maargoed...morgen weer een dag..

* TheRebell schrikt dat het alweer tijd is, morgen vroeg d'r uit..

  • Mark309
  • Registratie: September 2001
  • Niet online

Mark309

Ook wel Piet

Topicstarter
Wow hartstikke bedankt iedereen, vooral TheRebell :D voor het nakijken van mn code, en het bewerken, het veiligheidslek ga ik binnenkort oplossen zodra ik de boeken uit heb moet dat lukken.

Productman.nl - Helpt startups in de Achterhoek en Liemers - https://www.wiegaaterverhuizen.nl - Versla de makelaar ;)

Pagina: 1