Gå til innhold

Endre variabler i .php fil via nettleseren..


Anbefalte innlegg

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 av 0lav
Lenke til kommentar
Videoannonse
Annonse

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

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

Tusen takk! Nå funket det!:D 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
Tusen takk! Nå funket det!:D 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

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

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

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 av 0lav
Lenke til kommentar

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 konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...