Hi all,
bin noch totaler newbie in sachen PHP aber will diesen umstand gerne ändern
Die Dateien:
index.php
config.inc.php
funktion.inc.php
Die dateien sind in den unterordnern /inc und die html templates im /tpl unterordner.
So mein Problem ist das zwar die HTML dateien geladen
werden aber ich nicht weis wie ich z.b die news mit auf die startseite bekomme.
Habe eine news_output.php die auf die mysql db zugreift und die entprechenden news ausliest.
Wenn ich die datei direkt aufrufe funzt diese auch.
Diesen code habe ich von einem bekannten bekommen der leider keine Zeit hat wegen Prüfung. Habe auch einiges daran verändert ist also nicht mehr ganz das original.
Kann mir wer da helfen ?
bin noch totaler newbie in sachen PHP aber will diesen umstand gerne ändern
Die Dateien:
index.php
PHP-Code:
<?PHP error_reporting(E_ALL);
require('inc/config.inc.php');
if(! isset($_SESSION['userLoggedIn'])) {
$_SESSION['userLoggedIn'] = false;
}
$html = loadTemplate($templates['index']);
if(!isset($_GET['load']) || $_GET['load']=="")
{
$_GET['load'] = 'news';
}
switch($_GET['load']) {
case 'logout':
$_SESSION['userLoggedIn'] = false;
session_destroy();
header('Location: index.php');
exit;
default:
if(file_exists($incDir[$_GET['load']].".inc.php")) {
include($incDir[$_GET['load']].".inc.php");
}
elseif(isset($templates[$_GET['load']]))
{
$pageHtml = loadTemplate($templates[$_GET['load']]);
}
else
{
$pageHtml = loadTemplate($templates['fehler']);
}
}
if($_SESSION['userLoggedIn'] == true) {
extractHTML($html, 'LOGIN', '');
if($_SESSION['admin'] == 0) {
extractHTML($html, 'ADMIN', '');
}
}
else
{
extractHTML($html, 'LOGOUT', '');
extractHTML($html, 'ADMIN', '');
}
echo str_replace('%%LOAD_PAGE%%',$pageHtml, $html);
?>
PHP-Code:
<?
require('connect.inc.php');
require('funktion.inc.php');
$rootDir = $_SERVER['DOCUMENT_ROOT'].'/';
$incDir = $rootDir.'inc/';
$templateDir = $rootDir.'tpl/';
$templates = array('index' => $templateDir.'index.html',
'admin' => $templateDir.'admin.html',
'logout' => $templateDir.'logout.html',
'login' => $templateDir.'login.html',
'fehler' => $templateDir.'fehler.html',
'news' => $templateDir.'news.html',
'register' => $templateDir.'register.html',
'forward' => $templateDir.'forward.html',
);
if (eregi("config.inc.php",$_SERVER['PHP_SELF'])) {
Header("Location: index.php");
die();
}
?>
PHP-Code:
// template funktion
function extractHTML(&$src, $ilker, $replacement) {
$s = strpos($src, '<!--'.$ilker.'_START-->');
$e = strpos($src, '<!--'.$ilker.'_END-->');
if(($s === false) || ($e === false)) {
return '';
} else {
$s2 = $s + strlen('<!--'.$ilker.'_START-->');
$e2 = $e + strlen('<!--'.$ilker.'_END-->');
$tmp = substr($src, $s2, ($e-$s2));
$src = substr_replace($src, $replacement, $s, ($e2-$s));
return $tmp;
}
}
function loadTemplate($templateFile) {
if(file_exists($templateFile)) {
$html = file_get_contents($templateFile);
} else {
trigger_error('template file '.$templateFile.' not found', E_USER_ERROR);
} return $html;
}
So mein Problem ist das zwar die HTML dateien geladen
werden aber ich nicht weis wie ich z.b die news mit auf die startseite bekomme.
Habe eine news_output.php die auf die mysql db zugreift und die entprechenden news ausliest.
Wenn ich die datei direkt aufrufe funzt diese auch.
Diesen code habe ich von einem bekannten bekommen der leider keine Zeit hat wegen Prüfung. Habe auch einiges daran verändert ist also nicht mehr ganz das original.
Kann mir wer da helfen ?
Kommentar