robgar Skrevet 21. september 2004 Del Skrevet 21. september 2004 (endret) Hei, skulle prøve å skrive til en fil (config.php), men fikk det ikke til. Brukte "OOP" : (Vil bare påpeke at dette er nesten den samme koden som i min forrige tråd "undefined function", men lagde ny tråd, siden det er noe annet jeg spør om nå). <?php class setConfig { var $h; var $u; var $p; var $db; var $form = "instal_form.php"; var $ff = "config.php"; function setConfig() { include($this->form); } function file_write($h, $u, $p, $db) { $this->h = $h; $this->u = $u; $this->p = $p; $this->db = $db; fopen ($this->ff, 'a+'); fputs ($this->ff, $this->h); fputs ($this->ff, $this->u); fputs ($this->ff, $this->p); fputs ($this->ff, $this->db); fclose ($this->ff); } function make_777() { chmod("$this->ff"); } } $obj = new setConfig; $obj->make_777(); $obj->file_write($_POST['h'], $_POST['u'], $_POST['p'], $_POST['db']); ?> <form action="instal.php" method="post">Hostname: <input type="text" name="h"><br> Username: <input type="text" name="u"><br> Password: <input type="password" name="p"><br> Dab_Name: <input type="text" name="db"><br> <input type="submit" value="Install"> </form> Error messages: Warning: Wrong parameter count for chmod() in D:\TOnet\www\php&mysql\cdregisteret\instal.php on line 35 Warning: fputs(): supplied argument is not a valid stream resource in D:\TOnet\www\php&mysql\cdregisteret\instal.php on line 25 Warning: fputs(): supplied argument is not a valid stream resource in D:\TOnet\www\php&mysql\cdregisteret\instal.php on line 26 Warning: fputs(): supplied argument is not a valid stream resource in D:\TOnet\www\php&mysql\cdregisteret\instal.php on line 27 Warning: fputs(): supplied argument is not a valid stream resource in D:\TOnet\www\php&mysql\cdregisteret\instal.php on line 28 Warning: fclose(): supplied argument is not a valid stream resource in D:\TOnet\www\php&mysql\cdregisteret\instal.php on line 29 Hva har jeg gjort galt nå då? (tipper på chmod og fputs, fclose, men hva?) Håper på gode svar, Takk på forhånd! Endret 21. september 2004 av robgar Lenke til kommentar
???????? Skrevet 21. september 2004 Del Skrevet 21. september 2004 Oi... det er mye script for så enkle funksjoner. 1. Du må setter verdi når du skal chmod en fil, se www.php.net/chmod eks: chmod("$this->ff", 0777) 2. Du skal ikke definere filnavnet på nytt når du skal skrive til en fil, men resource handle, se www.php.net/fwrite eks: $link = fopen ($this->ff, 'a+'); fputs ($link, $this->h); Lenke til kommentar
robgar Skrevet 21. september 2004 Forfatter Del Skrevet 21. september 2004 Takk for svar. Hvordan legger vi inn mellom rom, og linje skifte osv? Lenke til kommentar
jorgis Skrevet 21. september 2004 Del Skrevet 21. september 2004 (endret) " " mellomrom \n\r linjeskift Endret 21. september 2004 av jorgis Lenke til kommentar
robgar Skrevet 21. september 2004 Forfatter Del Skrevet 21. september 2004 (endret) Takk, fikk det til nå, men fant ut at \n\r Ga to linjeskift (avsnitt), menst \n ga ny linje Takk for hjelpen (Du har også , fant jeg ut disse:) \" =" \' =' \$ = $ osv.. Endret 21. september 2004 av robgar Lenke til kommentar
jorgis Skrevet 21. september 2004 Del Skrevet 21. september 2004 \n\r består av to deler: \n og \r \n gir ny linje \r betyr "carriage return" og returnerer pekeren til begynnelsen av den nye linjen. Er ikke alltid påkrevd, men trengs under enkelte OS. Lenke til kommentar
robgar Skrevet 21. september 2004 Forfatter Del Skrevet 21. september 2004 Men jeg fikk 2 linjer av \n\r og en linje av \n tekst tekst 2 med \n\r tekst tekst2 med \n Lenke til kommentar
robgar Skrevet 21. september 2004 Forfatter Del Skrevet 21. september 2004 Oki, her er finale koden.. (la til noen enkle if tester) ¨ <?php class setConfig { var $h; var $u; var $p; var $db; var $form = "instal_form.php"; var $ff = "config.php"; function setConfig() { require($this->form); } function file_write($h, $u, $p, $db) { $this->h = $h; $this->u = $u; $this->p = $p; $this->db = $db; $o = fopen ($this->ff, 'a+'); fwrite ($o, "<?php \n\r"); fwrite ($o, '$hostname="'); fwrite ($o, $this->h); fwrite ($o, "\"; \n"); fwrite ($o, '$username="'); fwrite ($o, $this->u); fwrite ($o, "\"; \n"); fwrite ($o, '$password="'); fwrite ($o, $this->p); fwrite ($o, "\"; \n"); fwrite ($o, '$db_name="'); fwrite ($o, $this->db); fwrite ($o, "\"; \n\r"); fwrite ($o, "?>"); fclose ($o); } function make_777() { $make = fopen("config.php", 'a+'); fwrite ($make, ""); fclose ($make); if (!chmod("$this->ff", 0777)) { chmod("$this->ff", 0777); } } } $obj = new setConfig; $obj->make_777(); if (!empty($_POST['h']) && !empty($_POST['u']) && !empty($_POST['p']) && !empty($_POST['db'])) { $obj->file_write($_POST['h'], $_POST['u'], $_POST['p'], $_POST['db']); } else { print "Fill in all fields"; } ?> 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å