0lav Skrevet 21. oktober 2005 Del Skrevet 21. oktober 2005 (endret) Hei! Jeg lurte på hvordan man kunne endre noe sånt som dette som ligger i ei .php fil via nettleseren? <?php $db_bruker=""; $db_passord=""; $db_db=""; $db_host="localhost"; Slikt at man for opp en form som man fyller det ut i.. Også at jeg kan hente det ut så det kan bli rett satt opp i formene også.. Takk for svar! Endret 21. oktober 2005 av 0lav Lenke til kommentar
trrunde Skrevet 21. oktober 2005 Del Skrevet 21. oktober 2005 POST eller GET for å hente verdien fra skjemaet, fopen for å åpne og lagre filen etterpå Lenke til kommentar
0lav Skrevet 21. oktober 2005 Forfatter Del Skrevet 21. oktober 2005 Hei! Takk for svar! Jeg kan det meste dær, men hvordan får jeg til at det som er i <form name="db_passord" type="text"> havner på variabelen $db_passord osv? Og hvordan får jeg til å hente det ut slik? Takk! Lenke til kommentar
jorgis Skrevet 21. oktober 2005 Del Skrevet 21. oktober 2005 Om du har et form med action="POST", vil verdien i <input name="db_passord"> finnes i PHP-variabelen $_POST['db_passord']; Lenke til kommentar
gozzer Skrevet 21. oktober 2005 Del Skrevet 21. oktober 2005 Den lange versjonen kan da bli: <?php // hent ned POST-variabler @$post_bruker = $_POST['bruker']; @$post_pass = $_POST['pass']; @$post_db = $_POST['db']; @$post_host = $_POST['host']; @$post_todo = $_POST['todo']; // hvis vi skal lagre if ($post_todo == "lagre") { // masse validering av input // ... // åpner filen, og skriver innholdet, lukker filen $fd = fopen("dinfil.php", 'w'); fwrite($fp, "<?php\r\n"); fwrite($fp, '$db_bruker="' . $post_bruker . '";' . "\r\n"); fwrite($fp, '$db_passord="' . $post_pass . '";' . "\r\n"); fwrite($fp, '$db_db="' . $post_db . '";' . "\r\n"); fwrite($fp, '$db_host="' . $post_host . '";' . "\r\n"); fwrite($fp, "?>\r\n"); fclose($fp); } ?> <html> <head> <title>Skjema</title> </head> <body> <?php if ($post_todo != "lagre") { ?> <form method="post" action="?do-it"> Brukernavn: <input type="text" name="bruker" /><br /> Passord: <input type="text" name="pass" /><br /> Database: <input type="text" name="db" /><br /> Hostname: <input type="text" name="host" /><br /> <input type="hidden" name="todo" value="lagre" /> </form> <?php } else { ?> Filen ble oppdatert :-) <?php } ?> </body> </html> Her er det selvsagt rom for forbedringer på mange punkter, men tanken forblir den samme :-) Du får unnskylde eventuelle parse errors, da jeg ikke testa koden. PS: det kan være lurt å sjekke om filen er skrivbar, og om fwrite faktisk klarer å gjøre jobben sin. Lenke til kommentar
0lav Skrevet 22. oktober 2005 Forfatter Del Skrevet 22. oktober 2005 Takk for svar men jeg får den ikke til å funke.. Jeg kan skrive inn osv men det er når jeg poster at jeg får problemer.. Da står det dette: Warning: fwrite(): supplied argument is not a valid stream resource in i:\shop til johan\install\config.php on line 17 Warning: fwrite(): supplied argument is not a valid stream resource in i:\shop til johan\install\config.php on line 18 Warning: fwrite(): supplied argument is not a valid stream resource in i:\shop til johan\install\config.php on line 19 Warning: fwrite(): supplied argument is not a valid stream resource in i:\shop til johan\install\config.php on line 20 Warning: fwrite(): supplied argument is not a valid stream resource in i:\shop til johan\install\config.php on line 21 Warning: fwrite(): supplied argument is not a valid stream resource in i:\shop til johan\install\config.php on line 22 Warning: fclose(): supplied argument is not a valid stream resource in i:\shop til johan\install\config.php on line 23 Filen ble oppdatert :-) Men når jeg har gjort dette så er alt av innhold i den fila som jeg prøvde å oppdatere slettet.. Lenke til kommentar
stian90_2 Skrevet 22. oktober 2005 Del Skrevet 22. oktober 2005 Huska og chmode ? Lenke til kommentar
jorgis Skrevet 22. oktober 2005 Del Skrevet 22. oktober 2005 Ser du litt nøye i scriptet ser du at det ikke finnes en variabel $fp, men variabelen $fd finnes, og inneholder pekeren til den åpne filen. Endre linjen som sier " $fd = fopen("dinfil.php", 'w');" til "$fp = fopen("dinfil.php", 'w');", så skal det funke. Lenke til kommentar
gozzer Skrevet 22. oktober 2005 Del Skrevet 22. oktober 2005 Hehe, takk for debugging jorgis Lenke til kommentar
0lav Skrevet 23. oktober 2005 Forfatter Del Skrevet 23. oktober 2005 Tusen takk! Nå funket det! Men siden jeg ikke har holdt stort på med flatfiler så kan jeg ikke så mye om det, kan dere hjelpe meg litt med hvordan jeg får hentet det ut slik at infoen står i input boxene også? Takk! Lenke til kommentar
jorgis Skrevet 23. oktober 2005 Del Skrevet 23. oktober 2005 Tusen takk! Nå funket det! Men siden jeg ikke har holdt stort på med flatfiler så kan jeg ikke så mye om det, kan dere hjelpe meg litt med hvordan jeg får hentet det ut slik at infoen står i input boxene også? Takk! 5046377[/snapback] Man lærer PHP best ved å lese i Manualen og se på eksemplene der. Mye bra der. Om flatfil-funksjoner: http://no.php.net/manual/en/ref.filesystem.php Lenke til kommentar
trrunde Skrevet 23. oktober 2005 Del Skrevet 23. oktober 2005 <input type="text" name="dbhost" value="<? echo $dbhostvariabelen ?> "> Slik får du satt verdien i texboxen Lenke til kommentar
0lav Skrevet 23. oktober 2005 Forfatter Del Skrevet 23. oktober 2005 Takk for svar igjen! Jeg kan det dær med variabler og hvordan man setter det inn i en textbox og at man må bruke fopen(?) for å åpne filen, men hvordan får jeg delt den opp slikt at de rette tingene havner i input boxene? Takk Lenke til kommentar
kakkle Skrevet 23. oktober 2005 Del Skrevet 23. oktober 2005 Her ser du et lite eksempel på hvordan du kan hente ut verdiene. Start på linje 1, pga <?php, og slutter på linje $linjer-1 pga ?>. Forutsetter at filnavnet som innholder data heter config.php <?php $readfile=file("config.php"); $lines = count($readfile); $line=1; while($line<$lines-1) { $data = explode("=", $readfile[$line]); echo "<pre>"; print_r($data); echo "</pre><br>"; $line++; } ?> Så kan du evt fjerne $ og erstatte "_" med " " for å kunne bruke variabel navnene som label til hvert felt. /k Lenke til kommentar
0lav Skrevet 23. oktober 2005 Forfatter Del Skrevet 23. oktober 2005 (endret) Takk for svar! Men hvis jeg setter inn $data[1] som value så blir det helt blankt, men med $data[0] så funker det, men det er jo $data[1] jeg trenger.. Det funker helt fint med echo $data[1] så jeg skjønner ikke hvorfor det ikke funker som value, for jeg bruker jo echo for å hente ut det også.. EDIT: Fikk det til nå... Endret 23. oktober 2005 av 0lav Lenke til kommentar
Anbefalte innlegg
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 kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå