if(!isset($_GET['done'])){
?>
Installation – Databasinställningar
Fyll i nedanstående fält med korrekta uppgifter för din databas. Dessa uppgifter är nödvändiga för att vi skall kunna ansluta till databasen och skapa de tabeller som gästboken kommer använda.
}
?>
//Skriver ut felmeddelanden
if(isset($_POST['install_do'])){
if(!isset($_GET['done'])){
for($i = 0; $i <= 5; $i++){
if($i == 0){echo '
Felmeddelande
‘;}
if($ch[$i] == ”0″){ echo $error_handle[$i]; echo ”
”;}
if($i == 5){ echo ‘
‘;}
}
}
}
if(isset($_POST['install_do'])){
if(!isset($_GET['done'])){
//Om dessa satser stämmer fortsätter installationen
if(!empty($admin_u)){
if(!empty($admin_p)){
if(!empty($admin_r)){
if($admin_r == $admin_p){
//Testar databasanslutningen
$conn = @mysql_connect($db_adress, $db_user, $db_pass) or die(‘
Anslutning mysslyckad
Vänligen kontrollera databasuppgifterna
‘);
$try = @mysql_select_db($db_name, $conn) or die(‘
Anslutning misslyckad
Vänligen kontrollera databasnamnet
‘);
//Table för gästboken
$table_gast = ”CREATE TABLE `$db_name`.`gast` (
`id` INT( 10 ) NOT NULL AUTO_INCREMENT PRIMARY KEY ,
`namn` VARCHAR( 50 ) NOT NULL ,
`ort` VARCHAR( 50 ) NOT NULL ,
`hemsida` VARCHAR( 50 ) NOT NULL,
`inlagg` VARCHAR( 1000 ) NOT NULL,
`ip` VARCHAR( 20 ) NOT NULL,
`datum` VARCHAR( 30 ) NOT NULL
) ENGINE = MYISAM ”;
//Table för inställningar
$table_settings = ”CREATE TABLE `$db_name`.`settings` (
`id` INT( 10 ) NOT NULL AUTO_INCREMENT PRIMARY KEY ,
`title` VARCHAR( 100 ) NOT NULL ,
`pages` INT( 10 ) NOT NULL ,
`max_page` INT( 10 ) NOT NULL ,
`inlagg` INT( 100 ) NOT NULL
) ENGINE = MYISAM ”;
//Table för ban
$table_ban = ”CREATE TABLE `$db_name`.`ban` (
`id` INT( 10 ) NOT NULL AUTO_INCREMENT PRIMARY KEY ,
`ip` VARCHAR( 50 ) NOT NULL
) ENGINE = MYISAM ”;
//Table för administration
$table_sec = ”CREATE TABLE `$db_name`.`sec` (
`id` INT( 10 ) NOT NULL AUTO_INCREMENT PRIMARY KEY ,
`user` VARCHAR( 100 ) NOT NULL ,
`pass` VARCHAR( 50 ) NOT NULL ,
`salt` VARCHAR( 50 ) NOT NULL,
`x` int( 5 ) NOT NULL
) ENGINE = MYISAM ”;
//Anropar variablarna som skapar tabellerna
@mysql_query($table_gast) or die(‘
Table problem
Ett problem uppstod när tablen skulle skapas!1
‘);
@mysql_query($table_settings) or die(‘
Table problem
Ett problem uppstod när tablen skulle skapas!1
‘);
@mysql_query($table_sec) or die(‘
Table problem
Ett problem uppstod när tablen skulle skapas!3
‘);
@mysql_query($table_ban) or die(‘
Table problem
Ett problem uppstod när tablen skulle skapas!4
‘);
//Funktion som hashar lösenordet
function hashGen ($admin_p, $x){
$losenord = md5($admin_p);
for($i = 0; $i <= $x; $i++){
$losenord = sha1($losenord);
}
return $losenord;
}
//Funktion som returnar ett salt
function saltGen ($y, $x){
$salt = md5($y);
for($i = 0; $i <= $x; $i++){
$salt = sha1($salt);
}
return $salt;
}
//Funktion som returnar det slutgiltgliga lösenordet med salt
function passGen ($baked_hash, $baked_salt){
$pass = sha1("$baked_hash"."$baked_salt");
return $pass;
}
//Skickar lösenordet till funktionen, tar emot när det är hashat
$x = mt_rand(10, 99);
$y = mt_rand(1000, 9999999);
//Anropar tre funktioner som genererar och returnar salt och lösenord
$baked_hash = hashGen($admin_p, $x);
$baked_salt = saltGen($y, $x);
$baked_pass = passGen($baked_hash, $baked_salt);
//Skickar användaruppgifter till sec
$insert_sec = "INSERT INTO sec (user, pass, salt, x) VALUES ('$admin_u', '$baked_pass', '$baked_salt', '$x')";
@mysql_query($insert_sec) or die('
Table problem
Det gick inte att skicka uppgifter till databasen!
‘);
//Skickar inställningar till settings
$nmn = ”iGäst”;
$pgs = 10;
$lgt = 1000;
$mxs = 3;
$insert_settings = ”INSERT INTO settings (title, pages, max_page, inlagg) VALUES (‘$nmn’, ‘$pgs’, ‘$mxs’, ‘$lgt’)”;
@mysql_query($insert_settings) or die(‘
Table problem
Det gick inte att skicka uppgifter till databasen!
‘);
//Skapar connect.php och fyller i databas inställningar
$myFile = ”connection/connect.php”; //sökväg och filnamn
$fh = fopen(”$myFile”, ‘w’) or die(‘
Fil problem
Det gick inte att skapa filen!
Kontrollera rättigheter.
‘); //skapar filen och öppnar den för att skriva
//innehåll i filen som skapas
$stringData = ‘
$mysql_server = "'."$db_adress".'";
$mysql_user = "'."$db_user".'";
$mysql_password = "'."$db_pass".'";
$mysql_database = "'."$db_name".'";
$time = date("Y-m-d H:i:s");
$conn = mysql_connect($mysql_server, $mysql_user, $mysql_password);
mysql_select_db($mysql_database, $conn);
?>‘;
fwrite($fh, $stringData); //skriver datan till filen
fclose($fh); //stänger filen
//Byter sida
header(”location:install.php?done”);
}
}
}
}
}
}
if(isset($_GET['done'])){
echo ‘Installationen lyckades
* Radera filen install.php!
* Sätt tillbaka korrekt rättigheter på mappen connection!
* Kontrollpanelen hittas i mappen sec och heter admin.php!
‘;
}
?>