Blog - webdesign, javascript, jquery, html, css, php

PHP: "settings.php"

Wer den Beitrag "http://www.schuebel-webdesign.de/blog_8_Grundsätzlicher+Seitenaufbau.html"; nicht gelesen hat wird sich jetzt fragen was ist die "settings.php"? Um es in einem Satz zu sagen: Eine PHP Datei in der alle wichtigen Variablen eines Projektes gespeichert sind. Um es zu veranschaulichen hier ein Beispiel:


$vars['host'] = "localhost";
$vars['dbuser'] = "Datenbank Benutzername";
$vars['dbpass'] = "Datenbank Passwort";
$vars['db'] = "Datenbank";
$vars['rootlink'] = "index.php";
$vars['adminrootlink'] = "backend.php";
$vars['standardtitle'] = "Meine Seite | Alle wichtigen Infos über mich";
$vars['shorttitle'] = "| Meine Seite"; </p>


Eine kleine Erklärung zu den Variablen. Die ersten vier sollten sich von selbst erklären, SQL Datenbank Login.

rootlink & adminrootlink

sind jeweils die Namen der Haupt - und Adminseite. Diese beiden Werte sind von Vorteil falls es jemals größere änderungen geben sollte. Man könnte die natürlich auch mit $_SERVER['PHP_SELF'] lösen aber so haben wir etwas mehr Kontrolle und Möglichkeiten.

standarttitle & shorttitle

Wie der Name der Variablen vermuten lässt handelt es sich um den Standardtitel und eine kurze Version des Titel der Hauptseite. Diese Variablen sind gesetzt um einerseits einen dynamischen Seitentitel zu ermöglichen und andererseits den Titel ändern zu können ohne die HTML Datei bearbeiten zu müssen.

Das ist nur ein kleiner Einblick in die Variablen bei denen es Sinn macht sie in die "settings.php" zu schreiben. Grundsätzlich sollten alle Variablen eingetragen werden die oft Verwendet werden und/oder über den Adminbereich geändert werden sollen.
Warum werden die Variablen in ein Array geschrieben anstatt einfach

$host =  "localhost";


zu schreiben? Das hat den einfachen Grund das wir Anhand des Array´s ein Formular ausgeben lassen kann um alle Werte zu ändern und dann in erneut in die Datei zu schreiben. Hier ein Beispiel Skript:

if (!$_POST['submit']) {
echo "<form id='form1' name='form1' method='post' action=''>";
foreach ($vars as $key => $value)
{
echo "
<label>$key:</label>
<input type='text' name='$key' value='$value' />
";
}
echo "<input type='submit' name='submit' id='button' value='Speichern' />
</form>";
} else {
print_r($_POST);
<p>foreach ($_POST as $key => $value)
{
if ($key != "submit" ) {
if (!$st) {
$st = "\$vars['".$key."'] = \"".$value."\"; \n";
} else {
$st = "$st\$vars['".$key."'] = \"".$value."\"; \n";
}
}
}
$st = "<? \n\n".$st."\n?>";
$open = fopen("settings.php", "w+");
fwrite($open, $st);
fclose($open);
echo $st;
}


Dieses Skript ist alles andere als Perfekt und sollte auf jedenfall noch angepasst und verbessert werden aber um den ganze Vorgang leichter zu erklären reicht es allemal aus.
Was geschieht? Falls das Formular nicht abgesendet wurde, wird unser Array ausgelesen und für jeden Wert wird ein Formularfeld mit passenden Inhalt ausgegeben. Nach dem absenden wird der $_POST Array zerlegt, in einer Variable untergebracht und danach in unsere "settings.php" geschrieben. Es ist unbedingt nötig ( was in diesem Skript jetzt nicht der Fall ist ) die gesendeten POST Daten mit REGEXP zu prüfen und somit Fehler oder sogar SQL Injections auszuschließen.

  • Veröffentlicht:
  • 11.04.2008
  • Author:
  • Mathias Schübel
  • Permalink:
  • http://www.schuebel-webdesign.de/blog/9
zurück zum Blog