<?php
define('IS_DEBUG', true); // DEBUG MODE. define('included', true); // for included files. define('RP', $_SERVER['DOCUMENT_ROOT']); // root patch.
if (IS_DEBUG)
{
ini_set('error_log','errors.log.txt'); ini_set('display_startup_errors',true); }
else ini_set('display_errors',false);
session_save_path(__DIR__
.'/sess/'); # change dir of sess; defend for shared hosting.
# functions include #
include RP.'/php/functions.php';
register_shutdown_function('footer');
$page=['title'=>'Blog - KsaR','name'=>'home'];
switch ((isset($_GET['p']) ?
$_GET['p'] : '')) {
case 'signin': $page=['title'=>'Logowanie','name'=>'signin']; break;
case 'signup': $page=['title'=>'Rejestracja','name'=>'signup']; break;
case 'addpost': $page=['title'=>'Dodaj post','name'=>'addpost']; break;
case 'addcategory': $page=['title'=>'Dodaj kategorię','name'=>'addcategory']; break;
}
$server=sprintf('//%s/~%s/',$_SERVER['SERVER_ADDR'],explode('/',$_SERVER['SCRIPT_FILENAME'])[2
]); ?>
<!DOCTYPE html SYSTEM "about:legacy-compat">
<html lang="pl" dir="ltr">
<head>
<meta charset="UTF-8"/>
<title><?=$page['title']?></title>
<meta name="viewport" content="width=device-width,maximum-scale=2.5,initial-scale=1.0"/>
<link rel="stylesheet" href="<?=$server?>'css/style.min.css?v=0"/>
<meta name="MobileOptimized" content="true"/>
<meta name="HandheldFriendly" content="true"/>
<meta name="author" content="KsaR"/>
<meta name="keywords" content="ksar,blog,php,polski"/>
</head>
<body>
<?php
// @author: KsaR.
## session security ##
// before stolen session
if (isset($_SESSION['owner']) && $_SESSION['owner']!==$_SERVER['HTTP_USER_AGENT']) {
exit('<div class="err"><b>Wykryto i udaremniono próbę przejęcia sesji użytkownika.</b></div>'); }
else
{
$_SESSION['owner']=$_SERVER['HTTP_USER_AGENT'];
}
##-session security-##
$logged=isset($_SESSION['uid']);
try
{
$config=
[
'db_host'=>'127.0.0.1',
'db_name'=>'baza',
'db_user'=>'uzytkownik',
'db_pass'=>'haslo'
];
$pdo=new PDO('mysql:host='.$config['db_host'].';dbname='.$config['db_name'].';charset=utf8;encoding=utf8',$config['db_user'],$config['db_pass'],
[
PDO::ATTR_ERRMODE=>PDO::ERRMODE_EXCEPTION,
PDO::ATTR_PERSISTENT=>true,
PDO
::MYSQL_ATTR_INIT_COMMAND=>'SET time_zone=\''.date('P').'\'' ]);
}
catch(PDOException $e)
{
exit(sprintf('<div class="err">Wystąpił problem podczas połączenia z bazą danych.<br/>%s</div>',$e->getMessage())); }
if ($logged)
{
$user=$pdo->prepare('SELECT `staff` FROM `users` WHERE `userId`=? LIMIT 1');
$user->execute([$_SESSION['userId']]);
$user=$user->fetch(PDO::FETCH_ASSOC);
}
?>
<header>
<nav id="menu">
<ul>
<li><a href="/">Strona główna</a></li>
<?php
if ($logged)
{
if ($user['staff']):
?>
<li><a href="/addpost/">Dodaj post</a></li>
<li><a href="/addcategory/">Dodaj kategorie</a></li>
<?php
endif;
?>
<li><a href="/signout/">Wyloguj</a></li>
<?php
}
?>
<li><a href="/signin/">Logowanie</a></li>
<li><a href="/signup/">Rejestracja</a></li>
</ul>
</nav>
</header>
<main>
<?php
include sprintf('%s/pages_include/%s.php',RP
,$page['name']);
Ok zmiany i juz nie blank page,
Pyton_000:
Cytat
Wystąpił problem podczas połączenia z bazą danych.<br/>SQLSTATE[HY000] [1045] Access denied for user 'uzytkownik'@'localhost' (using password: YES)
Juz chyba wszystko poprawilem, jeszcze coś źle? (IMG:
style_emoticons/default/tongue.gif)