Tutorials

Een goede Install.PHP

Hoe maak je een goede Install.PHP? Hier je antwoord!

Pagina 1

Inleiding.

Hoi. Je kent het wel, van die mensen die niet weten hoe ze config.php moeten
openen.. Maar er is een goede oplossing! Een Install.php dat automatisch de Queries uitvoert. Het enige wat ze hoeven te doen is het bestand config.php te CHModden naar 777, en ze moeten de Config Data WETEN, daarmee bedoel ik de Usernaam (Bijvoorbeeld db_kees), het database password enzovoorts!

Deze install.php gaat er van uit dat er zich in dezelfde map een config.php bevind, het maakt niet uit of er wat in staat of dat hij leeg is. Maar bij onervaren webmasters is het misschien handig er een lege in te zetten.
Nou, ik wil op het einde graag reacties horen :)
Pagina 2

Het script + Uitleg

Hierbij het script, let goed op het commentaar dat erbij staat, want daar wordt het script uitgelegd!

<?php
  // Welkom op deze tutorial
  // We hoeven niks te includen want het is een install :D
  $config = "./config.php"; // We gaan zo checken of dit bestand bestaat,
                            // dus of het systeem correct is gedownload =]
  if(!file_exists($config))
     {
        // ALs het systeem niet geinstalleerd is komt deze fout:
       echo "Het bestand ".$config." is niet gevonden, heb je ons systeem
             wel goed gedownload?
          <a href=./install.php> <BR> Terug.. </BR>"; 
           }
  if(!isset($_POST['proceed']) || !isset($_POST['finish']))
         {
            // Als we nog geen informatie hebben, dus als de user nog niks 
            // heeft opgegeven..
            ?>
             <!-- Dan openen we de form.. -->
                <form method="post" action="./install.php">
                    <table width="auto" height="auto" border="0">
                       <tr> 
                          <td>
                            Je database inlognaam: 
                          </td>
                          <td>
                          <input type="text" name="databaseuser"> </td> </tr> 
                <!-- Nodig om naar de database to connecten -->
                     <tr>
                        <td>
                            Je database wachtwoord: </td>
                            <td>
                           <input type="password" name="databasepass"></td>
                <!-- Ingelijks he, maar dat wist je al -->
          </tr> <tr> <td>
                           Je host naam: </td>
                     <td>  <input type="text" name="databasehost" value="localhost">
          <!-- Deze database selecteerd hij, daar voert hij data in -->
    </td> </tr> <tr> <td> Je database naam: </td> 
                     <td> <input type="text" name="databasename"> </td> </tr>
   <tr> <td>              <input type="submit" name="proceed" value="Volgende..">
             <!-- Database naam + de submit knop -->
                          </td>
                        </tr>
                     </table>
 <?                          
  }
    /* Ok, we hebben nu een form aangemaakt waar de gebruiker de
       config gegevens moet invullen. Deze gaan we later invoeren
       in config.php (Dat bestand is nu nog leeg) door middel van
       de functies fopen() en fwrite(). Daarom is het ook zo 
       belangrijk dat config.php ge ch'mod is naar 0777.
       
       We gaan nu verder met een if(), daarmee controleren we
       of de gebruiker al op volgende heeft gedrukt!
    */
       if($_POST['proceed']) 
          {
            // We gaan nu voor het overzicht de
            // Opgekregen informatie in variabelen zetten
             $dbuser = $_POST['databaseuser']; // De Database Username
             $dbpass = $_POST['databasepass']; // Het Datapase password
             $dbhost = $_POST['databasehost']; // De hostnaam
             $dbdata = $_POST['databasename']; // De database naam.
              // Nu gaan we aan de gebruiker vragen 
              // Of deze gegevens kloppen
              // Behalve het password natuurlijk! 
      echo " Je ingevoerde inlognaam was: ".$dbuser." <BR>  ";
      echo " Je opgegeven Hostnaam: ".$dbhost." <BR> ";
      echo " Je ingevoerde Database naam: ".$dbdata." <BR>";
      echo " Als deze gegevens niet kloppen, 
             druk dan op dan op het BACK knopje
            <BR> van je browser ";
      
        /* De gebruiker kan deze informatie ten
            alle tijden aanpassen, ze hoeven alleen
            maar opnieuw te installeren. 
            We gaan zodadelijk de config gegevens
            in config.php schrijven, en daarna
            de queries invoeren!
        */
                        
           $openconfig = fopen("./config.php", "w");
                 // De W staat voor write,
                 // Het eerste gedeelte is het path
                 // naar de config + bestandsnaam

              $configinhoud = " <?
      mysql_connect('".$dbhost."','".$dbuser."','".$dbpass."');
      mysql_select_db('".$dbdata."'); 
                                ?>
                              ";
                   // Deze data wordt zo dadelijk
                   // in config.php geschreven
                   // Je kan natuurlijk altijd 
                   // meer tekst erin schrijven!
        fwrite($openconfig, $configinhoud);
           // De data is er nu ingeschreven
           // Dus nu gaan we het bestand
           // weer netjes sluiten!
         fclose($openconfig); 

        /* Nu we de config data in config.php
           hebben geschreven kunnen we de MySQL
           queries invoeren, natuurlijk moet 
           je die wel aanpassen aan je eigen
           site! 
 
           Als voorbeeld neem ik dit keer een
           nieuwssysteem..
           Maar eerst moeten we natuurlijk weer een 
           next knopje toevoegen! */
         echo "De info is toegevoegd aan config.php <BR>";
         echo "<form action=./install.php method=post>";
         echo "<input type=submit name=finish value=Voltooien>";
         echo "</form>";
     }  
   if($_POST['finish'])
       {
          include("./config.php");
         // Nu kunnen we config.php includen 
         // De laatste fase, de queries!
                            
       mysql_query("
CREATE TABLE `msg` (
`id` int(11) auto_increment, 
`titel` VARCHAR( 250 ) NOT NULL ,
`ip` VARCHAR( 150 ) NOT NULL ,
`start` INT( 9 ) NOT NULL ,
`short` LONGTEXT NOT NULL ,
`long` LONGTEXT NOT NULL,
 primary key(id) 
);") or die(mysql_error()); 
        /* Je kunt natuurlijk altijd nog
           meer queries toevoegen..
           En je kunt meer informatie opvragen
           aan het begin van het script, maar
           als je ergens niet uitkomt, kijk dan 
           nog eens goed naar dit script!!
       */
   echo "Oke, we hebben alles succesvol uitgevoerd!<BR>";
   echo "Als je toch iets fout hebt ingevoerd, upload dit bestand<BR>
         dan openieuw!";
        unlink('./install.php');
     // Dit laatste stukje met dank aan Jip
}

?>

Reacties

0
Nog geen reacties.