Installationsscript mit define();-Variablen?

philippgerard

Grünschnabel
Servus,

ich habe ein schönes Newsscript geschrieben, und will nun auch ein Installationsscript mitliefern. Dafür will ich die Daten, die der User in der inc.config.php eingegeben hat gleich in das Installationsscript integrieren. include(); klappt leider nicht, da ich alle Veriablen mit define(); global verfügbar gemacht habe.

Auszug aus der inc.config.php:
PHP:
// Host der verwendeten Datenbank (Normalerweise "localhost"):

define ("DBHOST", "localhost");

// Username der verwendeten Datenbank:

define ("DBUSER", "user");

// Passwort der verwendeten Datenbank:

define ("DBPASS", "passwort");

// Name der verwendeten Datenbank:

define ("DBNAME", "datenbank");

// Name der für die NewsDB verwendeten Tabelle in der o.g. Datenbank:

define ("NEWSTABLE", "news");

Nun habe ich ein einfaches Installationsscript geschrieben, welches die Tabellen erstellt. Aber man muss dafür alle Daten erneut eingeben, was in meinen Augen unnötige Arbeit ist...

install.php:
PHP:
$host = "localhost";
$db = "datenbank";
$user = "user";
$pass = "passwort";
$table = "news";

// Versuche Verbindung herzustellen...

$link = mysql_connect ($host, $user, $pass);

// Erstelle Datenbank...

$query = "CREATE table $table (id int(255) NOT NULL auto_increment,
	title varchar(255) NOT NULL,
	datum varchar(255) NOT NULL,
	news text NOT NULL,
	who varchar(255) NOT NULL,
	PRIMARY KEY (id))";

if (mysql_db_query ($db, $query, $link)) { print ("Tabelle erstellt. Setup abgeschlossen.<br><br>Bitte denken Sie daran, die Datei inc.config.php entsprechend anzupassen.<p>Datenbank: $db  Tabelle: $table");

}

mysql_close ($link);

// Ende.

Wie kann ich die Daten der inc.config.php in der install.php verfügbar machen?
 
hm, habs schon. nur die Veriable NEWSTABLE muss ich noch anders einbauen...

PHP:
<?php
//////////////////////////////////////////////////////////////////////////////////////////////////////
// Datei: 			install.php																		//
// Beschreibung:	Diese Datei dient dazu, die nötige Tabelle zu erstellen.						//
// Hinweis:			Keine Änderungen nötig!															//
//////////////////////////////////////////////////////////////////////////////////////////////////////

include ("inc.config.php");

// Versuche Verbindung herzustellen...

$link = mysql_connect (DBHOST, DBUSER, DBPASS) or die ("Verbindung nicht zustande gekommen.");

// Erstelle Datenbank...

$query = "CREATE table " . NEWSTABLE ." (id int(255) NOT NULL auto_increment,
	title varchar(255) NOT NULL,
	datum varchar(255) NOT NULL,
	news text NOT NULL,
	who varchar(255) NOT NULL,
	PRIMARY KEY (id))";

if (mysql_db_query (DBNAME, $query, $link)) { print ("Tabelle erstellt. Setup abgeschlossen.");

}

mysql_close ($link);

// Ende.

?>
 
:) so muss es sein:

PHP:
<?php
//////////////////////////////////////////////////////////////////////////////////////////////////////
// Datei: 			install.php																		//
// Beschreibung:	Diese Datei dient dazu, die nötige Tabelle zu erstellen.						//
// Hinweis:			Keine Änderungen nötig!															//
//////////////////////////////////////////////////////////////////////////////////////////////////////

include ("inc.config.php");

// Versuche Verbindung herzustellen...

$link = mysql_connect (DBHOST, DBUSER, DBPASS) or die ("Verbindung nicht zustande gekommen.");

// Erstelle Datenbank...

$query = "CREATE table " .NEWSTABLE ." (id int(255) NOT NULL auto_increment,
	title varchar(255) NOT NULL,
	datum varchar(255) NOT NULL,
	news text NOT NULL,
	who varchar(255) NOT NULL,
	PRIMARY KEY (id))";

if (mysql_db_query (DBNAME, $query, $link)) { print ("Tabelle erstellt. Setup abgeschlossen.");

}

mysql_close ($link);

// Ende.

?>
 
Zurück