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