<?php include './header.php'; switch($_GET['step']){ default: f1(); break; case "2": f2(); break; case "3": f3(); break; case "4": f4(); break; } //funkcje instalacji function f1(){ //sprawdza wersje php jesli bedzie niższa od 5 nie przejdzie do nastepnego kroku if (PHP_VERSION > 5) { echo PHP_VERSION; $chmod = "<b>OK</b> - Plik istnieje i jest zapisywalny"; } } else { $chmod = "<b>UWAGA</b> - Plik nie jest zapisywalny lub nie istnieje"; } } function f2() { echo '<form method="post" action="install.php?step=2"> <p> Adres serwera:<br> <input type="text" value="" name="dbhost"> </p> <p> Użytkownik bazy:<br> <input type="text" value="" name="dbuser"> </p> <p> Hasło bazy:<br> <input type="password" value="" name="dbpass"> </p> <p> Nazwa bazy:<br> <input type="text" value="" name="dbname"> </p> <p> <input type="submit" value="Sprawdź"> </p> </form>'; } else echo "<br>Zapis danych powiódł się. Możesz kontynuować. <a href='install.php?step=3'>>></a>"; function clear($text) { // jeśli serwer automatycznie dodaje slashe to je usuwamy } $text = mysql_real_escape_string($text); // filtrujemy tekst aby zabezpieczyć się przed sql injection return $text; } file_put_contents('db.php', ''); // zmienna $dane, która będzie zapisana // może także pochodzić z formularza np. $dane = $_POST['dane']; $_POST['dbhost'] = clear($_POST['dbhost']); $_POST['dbuser'] = clear($_POST['dbuser']); $_POST['dbpass'] = clear($_POST['dbpass']); $_POST['dbname'] = clear($_POST['dbname']); } //zapis danych z formularza $dane = "<?php define('DBHOST', '".$_POST['dbhost']."'); define('DBUSER', '".$_POST['dbuser']."'); define('DBPASS', '".$_POST['dbpass']."'); define('DBNAME', '".$_POST['dbname']."'); ?>"; // przypisanie zmniennej $file nazwy pliku $file = "db.php"; // uchwyt pliku, otwarcie do dopisania // blokada pliku do zapisu // zapisanie danych do pliku // odblokowanie pliku // zamknięcie pliku } } //instaluje schemat bazy danych function f3() { include ("config.php"); db_connect(); `id` int(11) NOT NULL AUTO_INCREMENT, `id_cat` int(11) NOT NULL, `grupa` varchar(200) NOT NULL, `nazwa` varchar(200) NOT NULL, `opis` text NOT NULL, `tresc` text NOT NULL, `adres` text NOT NULL, `licencja` varchar(200) NOT NULL, `wielkosc` varchar(50) NOT NULL, `pobran` int(11) NOT NULL, `data` int(11) NOT NULL, `ocen` int(11) NOT NULL, `suma` int(11) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=5 ; "); else { $error++; } `id` int(11) NOT NULL AUTO_INCREMENT, `id_cat` int(11) NOT NULL, `nazwa` varchar(200) NOT NULL, `opis` text NOT NULL, `ilosc` int(11) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=11 ;"); else { $error++; } `id` int(11) NOT NULL AUTO_INCREMENT, `id_plik` int(11) NOT NULL, `nick` varchar(200) NOT NULL, `tresc` text NOT NULL, `data` int(11) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ; "); else { $error++; } `user_id` int(10) unsigned NOT NULL AUTO_INCREMENT, `user_name` varchar(255) NOT NULL, `user_password` varchar(40) NOT NULL, `user_email` varchar(255) NOT NULL, `user_regdate` int(10) unsigned NOT NULL, `user_from` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_polish_ci NOT NULL, `user_website` varchar(255) NOT NULL, `user_status` varchar(255) NOT NULL DEFAULT '0', `grupa` varchar(200) NOT NULL, PRIMARY KEY (`user_id`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=11 ; "); else { $error++; } `id` int(11) NOT NULL AUTO_INCREMENT, `grupa` varchar(200) NOT NULL, `nazwa` varchar(200) NOT NULL, `opis` text NOT NULL, `ilosc` varchar(100) NOT NULL, `aktywnosc` varchar(100) NOT NULL DEFAULT '0', `download_categories` varchar(100) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=20 ;"); else { $error++; } if($error > 0 ){ echo 'Nie udało się zainstalować schematu bazy danych. Wróć do kroku 2 aby poprawić połączenie z bazą danych. <a href="install.php?step=2">Popraw</a>'; } else }}; //dodawanie administratora function f4() { include ("config.php"); db_connect(); // filtrujemy dane... $_POST['name'] = clear($_POST['name']); $_POST['password'] = clear($_POST['password']); $_POST['password2'] = clear($_POST['password2']); $_POST['email'] = clear($_POST['email']); // sprawdzamy czy wszystkie pola zostały wypełnione // sprawdzamy czy podane dwa hasła są takie same } elseif($_POST['password'] != $_POST['password2']) { // sprawdzamy poprawność emaila } elseif(filter_var($_POST['email'], FILTER_VALIDATE_EMAIL) === false) { } else { // sprawdzamy czy są jacyś uzytkownicy z takim loginem lub adresem email $result = mysql_query("SELECT Count(user_id) FROM `users` WHERE `user_name` = '{$_POST['name']}' OR `user_email` = '{$_POST['email']}'"); if($row[0] > 0) { } else { // jeśli nie istnieje to kodujemy haslo... $_POST['password'] = codepass($_POST['password']); // i wykonujemy zapytanie na dodanie usera $q1= "INSERT INTO `users_group`(`id`, `grupa`, `nazwa`, `opis`, `ilosc`, `aktywnosc`, `download_categories`) VALUES ('1','0','admin','grupa admin','0','1','')"; $q2 = "INSERT INTO `users_group`(`id`,`grupa`, `nazwa`, `opis`, `ilosc`, `aktywnosc`, `download_categories`) VALUES ('2','0','start','Grupa startowa','0','1', '')"; $q3 = "INSERT INTO `users` (`user_name`, `user_password`, `user_email`, `user_regdate`, `user_status`, `grupa`) VALUES ('{$_POST['name']}', '{$_POST['password']}', '{$_POST['email']}', '".time()."', 'administrator', 'admin')"; echo '<p>Konto admnistratora zostało utworzone! Możesz się teraz <a href="login.php">zalogować</a>.</p>'; } } } // wyświetlamy formularz echo '<form method="post" action="install.php?step=4"> <p> Login:<br> <input type="text" value="'.$_POST['name'].'" name="name"> </p> <p> Hasło:<br> <input type="password" value="'.$_POST['password'].'" name="password"> </p> <p> Powtórz hasło:<br> <input type="password" value="'.$_POST['password2'].'" name="password2"> </p> <p> E-mail:<br> <input type="text" value="'.$_POST['email'].'" name="email"> </p> <p> <input type="submit" value="Zarejestruj"> </p> </form>'; db_close(); } ?>
dziekuje za pomoc