Automatische config.php erstellen

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • #16
    Mhhh, nein ich gebe die Daten schon in der Maske ein
    aber irgendwie scheint er die Variabeln nicht zu übernehmen.

    Gruss und danke Jens-Alf

    Kommentar


    • #17
      und klappt es jetzt mit dem beispiel von mir?
      INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


      Kommentar


      • #18
        Ne leider nicht wie schon gepostet, die Variabeln scheinen
        leer zu bleiben, denn er übergibt nichts an diese der config.php.

        Muss mal zu Hause schauen ob ich einen Fehler im Form entdecken
        kann, denn die Angaben werden eingegeben und somit müssten
        die Variabeln ja auch einen Wert beinhalten.

        Gruss und Danke Jens-Alf

        Kommentar


        • #19
          ich habe noch mal in den code geschaut. mache mal das

          $path['HTTP_HOST'];

          weg. das ist sinnlos. leider habe ich es beim umschreiben deines codes nicht gesehen.
          INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


          Kommentar


          • #20
            ... auch scheinst du das </form> vergessen zu haben.....

            naja. wie dem auch sei, ich habe mal schnell was geschrieben.

            PHP-Code:
            <?php

            if (isset($_POST['p_dbhost'], $_POST['p_dbuser'], $_POST['p_dbname'], $_POST['p_dbpass']) &&
                
            trim($_POST['p_dbhost'])!='' && trim($_POST['p_dbuser'])!='' &&
                
            trim($_POST['p_dbname'])!='' && trim($_POST['p_dbpass']) )
            {
                
            //Datenbankfile erstellen

                // grunddaten.
                
            $data '<?php
                            $dbhost = \'Server\';
                            $dbuser = \'Benutzername\';
                            $dbname = \'Datenbank\';
                            $dbpass = \'Passwort\';
                         ?>'
            ;

                
            $search = array ('Server''Benutzername','Datenbank','Passwort');
                
            $replace = array($_POST['p_dbhost'], $_POST['p_dbuser'], $_POST['p_dbname'], $_POST['p_dbpass']);
                
            $newdata str_replace($search$replace$data);

                
            $fp fopen('config.php''w');
                
            fputs($fp$newdata);
                
            fclose($fp);

                echo 
            'datei erstellt';
            }
            else
            {
                echo 
            '<form name="form1" method="post" action="'.$_SERVER["PHP_SELF"].'">';
                echo 
            'DB-Host: <input type="text" style="WIDTH: 200px;" name="p_dbhost" value="localhost"><br />';

                echo 
            '<td width=130>DB-Username</td>';
                echo 
            '<td><input type="text" style="WIDTH: 200px;" name="p_dbuser"><br />';

                echo 
            '<td width=130>DB-Name</td>';
                echo 
            '<td><input type="text" style="WIDTH: 200px;" name="p_dbname"><br />';

                echo 
            '<td width=130>DB-Passwort</td>';
                echo 
            '<td><input type="password" style="WIDTH: 200px;" name="p_dbpass"><br />';

                echo 
            '<input type="submit" name="p_absenden" value="Weiter">';

                echo 
            '</form>';
            }

            ?>
            ich habe jetzt keine vorhandene datei genommen, sondern die grunddaten im script verankert. denn wenn man was ändern wollte, könnte man es nicht mehr, da die 'platzhalter' ja bereits ersetzt sind.

            damit das schreiben der datei auch funktioniert, muss entweder eine datei config.php mit den minimalen rechten 666 vorhanden sein.

            oder aber das verzeichnis, in welches die datei geschrieben werden soll, hat die rechte 777.

            damit sollte es nun aber passen.
            INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


            Kommentar


            • #21
              Hallo,

              also zuerst habe ich mal den Teil des Scriptes was die Daten
              in der 'config.php' ersetzt inerhalb des Forms gesetzt und es hat funktioniert, der Inhalt wurde in die 'config.php' geschrieben.

              Zu Deiner Idee - grossartig ich finde auch das es genial wäre eine
              neue Datei an zu legen, jedoch bekomme ich bei Deinem Script ( 1:1 übernommen ) folgenden Fehler :

              Parse error: parse error, unexpected T_STRING in test.php on line 11

              denn es scheint so, das er den TAG ?> als Ende des PHP-Scriptes sieht.
              Ich denke mal man kann dieses mit einer Funktion beheben, wenn man
              das erstellen der DB in eine 'function.inc.php' legt und diese dann
              im Hauptscript aufruft, sollte es ja egal sein ob es ein Ende darstellt.

              Gruss und danke jens-alf

              Kommentar


              • #22
                Original geschrieben von jens-alf
                [...] jedoch bekomme ich bei Deinem Script ( 1:1 übernommen ) folgenden Fehler :[...]
                eigentlich sollte kein fehler kommen. zumindest war dies bei mir in ordnung.

                ich habe das ding hier getestet.
                INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


                Kommentar

                Lädt...
                X