Witam
Mam problem z instalatorem (install.php)
plik ma za zadanie dodanie parametrów bazy do config.php, następnie wprowadzenie tabel do bazy i na końcu utworzenie kont adminitratora.
Po kilku dniach wypełnionych błedami udało mi się <tak się mi wydaje> ukończyć to dzieło, lecz tym razem, zamiast błedu wyświetla mi się biała strona.....
za 1szym włączeniem strona wyświetliła się poprawnie - niby wszystko działało, można było wprowadzić dane, instalacja wydawało by się przebiegła poprawnie, lecz nie utworzyło tabel w bazie ani nie zmienilo nic w config, po kolejnym uruchomieniu strony wyświetla białą strone
treść pliku:
<?php
if (isset($_POST['base_form'])) {
$dbHost = $_POST['dbHost'];
$dbUser = $_POST['dbUser'];
$dbPass = $_POST['dbPass'];
$dbName = $_POST['dbName'];
if (!$connect) {
die ('<p class="error">Nie mogę się połączyć z bazą danych.</p>'); }
if (!$select) {
die ('<p class="error">Nie udało się wybrać bazy danych.</p>'); }
if ($connect -> connect_errno != 0)
{
throw new Exception(mysql_connect_errno);
}
else
{
$file = fopen("config.php","w"); fwrite($file,'<?php $dbHost = "'.$dbHost.'"; $dbUser = "'.$dbUser.'"; $dbPass = "'.$dbPass.'"; $dbName = "'.$dbName.'"; $conn = mysql_connect ($cfg['.$dbHost.'], $cfg['.$dbUser.'], $cfg['.$dbPass.']);
$select = mysql_select_db ($cfg['.$dbName.'], $conn);
if (!$conn) {
die (<p class="error">Nie udało się połączyć z bazą danych.</p>);
}
if (!$select) {
die (<p class="error">Nie udało się wybrać bazy danych.</p>);} ?>');
if ($connect -> connect_errno != 0)
{
throw new Exception(mysql_connect_errno);
}
else
{
mysql_query("CREATE TABLE `user` ( `id` int(10) UNSIGNED NOT NULL, `login` varchar(32) COLLATE utf8_polish_ci NOT NULL, `pass` varchar(32) COLLATE utf8_polish_ci NOT NULL, `email` varchar(255) COLLATE utf8_polish_ci NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_polish_ci;"); mysql_query("ALTER TABLE `user` ADD PRIMARY KEY (`id`);"); mysql_query("ALTER TABLE `user` MODIFY `id` int(11) UNSIGNED NOT NULL AUTO_INCREMENT;"); mysql_query("CREATE TABLE `rese` ( `id` int(11) UNSIGNED NOT NULL, `sala` varchar(32) COLLATE utf8_polish_ci NOT NULL, `nazw` varchar(32) COLLATE utf8_polish_ci NOT NULL, `dat` varchar(225) COLLATE utf8_polish_ci NOT NULL, `godz` varchar(32) COLLATE utf8_polish_ci NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_polish_ci;"); mysql_query("ALTER TABLE `rese` ADD PRIMARY KEY (`id`);"); mysql_query("ALTER TABLE `rese` MODIFY `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT;"); unset($_SESSION['base_form']); $_SESSION['admin_form'] = true;
$connect -> close();
}
}
if (isset($_POST['admin_form'])) {
$verify = true;
$login = $_POST['login'];
$pass = $_POST['pass'];
$email = $_POST['email'];
{
$login_error = 'Login może składać się jedynie z liter oraz cyfr.';
}
{
$login_error = 'Długośc loginu nie może być większa niż 24 znaki.';
}
$validated_email = filter_var($email,FILTER_SANITIZE_EMAIL);
if (!filter_var($validated_email,FILTER_VALIDATE_EMAIL) || $validated_email != $email)
{
$email_error = 'Wprowadzony e-mail nie jest poprawny.';
}
{
$pass_error = 'Długość hasła nie może być większa niż 24 znaki.';
}
{
$verify = false;
}
if ($verify)
{
mysql_report(MYSQL_REPORT_STRICT);
require_once "config.php";
try
{
$connect = new mysql($dbHost,$dbUser,$dbPass,$dbName); if ($connect -> connect_errno != 0)
{
throw new Exception(mysql_connect_errno);
}
else
{
$query = mysql_query("SELECT * FROM users WHERE login = '$login'"); if (!$query)
{
throw new Exception($connect -> error);
}
else
{
$count = $query -> num_rows;
if ($count > 0)
{
$verify = false;
$connect -> close();
}
}
if ($verify)
{
$pass = password_hash($pass,PASSWORD_DEFAULT);
$query = mysql_query("INSERT INTO users VALUES(NULL,'$login','$pass','$email',now())"); if (!$query)
{
throw new Exception($connect -> error);
}
else
{
unset($_SESSION['admin_form']); $_SESSION['done'] = true;
}
}
$connect -> close();
}
}
catch (Exception $error)
{
$admin_error = 'Nie udało się dodać administratora do bazy danych!';
$form_login = $login;
$form_email = $email;
}
}
else
{
$admin_error = 'Nie udało się dodać administratora do bazy danych!';
$form_login = $login;
$form_email = $email;
}
}
if (!isset($_SESSION['check_config']) && !isset($_SESSION['base_form']) && !isset($_SESSION['admin_form']) && !isset($_SESSION['done'])); {
$_SESSION['check_config'] = true;
}
if (isset($_SESSION['check_config'])) {
{
file_put_contents('config.php','');
}
switch ($permission)
{
case '0777':
$valid = true;
break;
case '0666':
$valid = true;
break;
default:
$valid = false;
break;
}
if (!$valid)
{
$config_error = 'Aby kontynuować instalację, zmień prawa dostępu do pliku <i>config.php</i> na "777"';
}
else
{
unset($_SESSION['check_config']); $_SESSION['base_form'] = true;
}
}
}
?>
<! DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8"/>
<title>Strona instalacyjna</title>
<link rel="stylesheet" href="install.css" type="text/css"/>
</head>
<body>
<div id="site">
<div id="form">
<?php
if (!isset($_SESSION['done'])) {
if (!isset($_SESSION['admin_form'])) {
if (!isset($_SESSION['base_form'])) {
}
else
{
echo '<div id="title">Wprowadź dane niezbędne do połączenia z bazą danych:</div><br/><br/><br/>'; echo '<form method="post">'; echo '<b><i>Hostname:</i></b><br/><br/>'; echo '<input type="text" name="dbHost"/><br/><br/>'; echo '<b><i>Username:</i></b><br/><br/>'; echo '<input type="text" name="dbUser"/><br/><br/>'; echo '<b><i>Password:</i></b><br/><br/>'; echo '<input type="password" name="dbPass"/><br/><br/>'; echo '<b><i>Database:</i></b><br/><br/>'; if (isset($connect_error)) {
echo $connect_error.'<br/><br/>'; }
echo '<input type="text" name="dbName"/><br/><br/><br/>'; echo '<input type="submit" name="base_form" value="Połącz"/>'; }
}
else
{
echo '<div id="title">Wprowadź dane administratora:</div><br/><br/><br/>'; {
echo '<span class="error">'.$admin_error.'</span><br/><br/>'; }
echo '<form method="post">'; echo '<b>Login:</b><br/><br/><input type="text" name="login"'; {
echo ' value="'.$form_login.'"'; }
{
echo '<span class="error">'.$login_error.'</span><br/><br/>'; }
echo '<b>E-mail:</b><br/><br/><input type="text" name="email"'; {
echo ' value="'.$form_email.'"'; }
{
echo '<span class="error">'.$email_error.'</span><br/><br/>'; }
echo '<b>Hasło:</b><br/><br/><input type="password" name="pass"/><br/><br/>'; {
echo '<span class="error">'.$pass_error.'</span><br/><br/>'; }
echo '<input type="submit" name="admin_form" value="Dodaj administratora"/>'; }
}
else
{
echo '<div id="title">Instalacja zakończona. Konfiguracja udana. Nastąpi teraz powrót do strony głównej i usunięcie pliku instalatora.</div><br/><br/><br/>'; echo '<form method="post" action="index.php">'; echo '<input type="submit" name="install_complete" value="Wróć do strony głównej"/>'; }
?>
</div>
</div>
</body>
</html>