Avatar billede matfri Nybegynder
10. februar 2007 - 17:46 Der er 9 kommentarer og
1 løsning

Installationsfil med php

Hej,

hvordan laver jeg en "installations fil" som man har gjort det når man "installere" phpBB på sin server?

Det jeg gerne vil have lavet er at man kan indtaste fx brugernavn og password i en html form, hvor de indtastede oplysninger bliver gemt i en fil. Og som senere kan blive brugt som forskellige variabler, i andre php filer.

Håber i forstår?
Avatar billede jakobdo Ekspert
10. februar 2007 - 21:09 #1
Du kan skrive data til en fil, f.eks. via fwrite()
Lad os sige du gemte nogle data i filen: config.php
Så kunne du på alle underliggende sider, includere config.php og dermed bruge en masse data fra config.php i en masse andre sider.
F.eks. sidenavn, login til mysql osv...
Avatar billede matfri Nybegynder
11. februar 2007 - 01:05 #2
Kan jeg evt. få et eksempel?
Avatar billede jakobdo Ekspert
11. februar 2007 - 20:29 #3
I bund og grund kunne det være i stil med dette:

<form action="createConfig.php" method="post">
Mysql User: <input type="text" name="mysqlUser">
Mysql Pass: <input type="text" name="mysqlPass">
Mysql Host: <input type="text" name="mysqlHost">
<input type="submit" name="create" value="Create Config">

Og så laver du action.php som indeholder:

<?php
$filename = 'config.php';

if(is_writable($filename))
{
    if(!$handle = fopen($filename, 'a'))
    {
        echo "Cannot open file ($filename)";
        exit;
    }

    $content = '$mysql['user'] = ' . $_POST['mysqlUser'];

    if (fwrite($handle, $content) === FALSE)
    {
        echo "Cannot write to file ($filename)";
        exit;
    }
 
    echo "Success, wrote ($somecontent) to file ($filename)";
 
    fclose($handle);

}
else
{
    echo "The file $filename is not writable";
}
?>

og så kan du bruge config.php videre i dine filer.
Avatar billede matfri Nybegynder
11. februar 2007 - 22:50 #4
Den kan ikke rigtig lide at man skriver:
$content = '$mysql['user'] = ' . $_POST['mysqlUser'];
fordi den tror at $mysql indgår som en variabel.
Avatar billede jakobdo Ekspert
11. februar 2007 - 23:11 #5
Jo, for når du skriver det i '' er det ok!
Det den ikke kan lide, er '' inden i.
Så prøv:
$content = '$mysql[\'user\'] = ' . $_POST['mysqlUser'];
Avatar billede matfri Nybegynder
12. februar 2007 - 18:07 #6
Det virkede. Er det muligt at ændre i filen derefter? Dvs. fx lave et script som ændre $mysql['user'] værdien?
Avatar billede jakobdo Ekspert
12. februar 2007 - 18:44 #7
Ja og nej.
Det jeg ville gøre var følgende:

Indlæse hele filens indhold.
Finde linien:
$mysql['user'] og så lave noget kode som tager resten af strengen og erstatter det med den nye værdi, og så gemmer hele filen igen.
Avatar billede matfri Nybegynder
12. februar 2007 - 22:14 #8
Ok. Tak for hjælpen, svarer du ikke lige?
Avatar billede jakobdo Ekspert
13. februar 2007 - 07:47 #9
Det kan du tro!
Avatar billede jakobdo Ekspert
13. februar 2007 - 09:14 #10
Takker for point.
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

IT-JOB

Forsvarsministeriets Materiel- og Indkøbsstyrelse

Solution Manager til Cyberdivisionen

Forsvarsministeriets Materiel- og Indkøbsstyrelse

Cyberdivisionen søger Business Relationship Manager

Forsvarsministeriets Materiel- og Indkøbsstyrelse

Cyberdivisionen søger IT-Supporter til lokal IT støtte i Oksbøl

Rambøll Management Consulting

Senior AI Engineer