Seite nur eingeloggt öffnen

schlurpsel

Gesperrt
Hab folgendes Script:
PHP:
<?php
/* ___________________________________________________________________________
 /                               ParaNews v3.4                               \
|                         Copyright (c) by Chris Rolle                         |
|                       [ me@s0nic.de | www.monxoom.de ]                       |
|                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~                  |
|                 This script can be used free as long as this                 |
|                 copyright notice remains here. Furthermore a                 |
|             copyright notice has to be displayed on the website              |
|                          where this script is used.                          |
|                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~                  |
|               See readme.htm for further copyright information               |
|                IF YOU USE THIS SCRIPT, YOU ACCEPT THESE TERMS                |
 \____________________________________________________________________________/
*/


// set defines
define('DEBUG', false);
define('ROOT', './');
define('PARANEWS', 'paranews/'); // relativer Pfad zum ParaNews-Ordner
define('PATH', ROOT.PARANEWS);

// set the error reporting level
if(DEBUG)
    error_reporting(E_ALL);
else
    error_reporting(E_ALL & ~E_NOTICES);


// standard includes
include PATH.'inc/config.inc.php';
include PATH.'inc/template.inc.php';
include PATH.'inc/functions.inc.php';

// load template
$tpl = new pnTemplate(ROOT);
$tpl->set_file('seite', PATH.'template.htm');
$tpl->set_block('seite', 'LOOP', 'LOOPSECTION');
$tpl->set_block('seite', 'COMMENTS', 'COMMENTSECTION'); 
$tpl->set_block('seite', 'COMMENTSHEADER', 'HEADER');  
$tpl->set_block('seite', 'COMMENTFORM', 'FORM');


//$zeile 	= file($datafile);
$handle = @fopen($datafile, 'r');
if($handle){
	while(!feof($handle)) {
		$chunk = fgets($handle, 16384);
		if(!empty($chunk))
			$zeile[] = $chunk;
	}
	fclose($handle);
}
$zeilen = sizeof($zeile);
$seiten = ceil($zeilen / $newsperpage);
$zeile 	= array_reverse($zeile);

if(!isset($_GET['pn_go']))
    $_GET['pn_go']='';

// ----- standard output of all news -------------------------------------------
if(!$_GET['pn_go'] OR $_GET['pn_go']=='')
{
	// prepare the navigation links
	if (!isset($_GET['page']))
        $_GET['page'] = 1; 
        
	$newsUpperLimit = $_GET['page'] * $newsperpage; 
	$newsLowerLimit = $newsUpperLimit - $newsperpage;
	
	if ($newsUpperLimit > $zeilen) 
        $newsUpperLimit = $zeilen;

	// prepare all news
	for ($i=$newsLowerLimit; $i<$newsUpperLimit; $i++)
    {
		$eintrag = explode('§',$zeile[$i]);
		$datum 		= formatdate($eintrag[6], $dateformat);
		$eintrag[1] = getname($eintrag[1], PATH.'inc/pn_userdata.php');
		$eintrag[2]	= formattext($eintrag[2], $smilies, $smiliespath, $texthtml);
		$eintrag[3]	= formattext($eintrag[3], $smilies, $smiliespath, $texthtml);
		
		// category system
		if($showcat=='yes') 
            $eintrag[5] = getcat($eintrag[5], PATH.'inc/pn_categories.dat','catpics', $catpics);
		else 
            $eintrag[5] = '';

		if($eintrag[4] != '') 
            $readmore = '<a href="'.$_SERVER['PHP_SELF'].'?pn_go=details&amp;id='.$eintrag[0].$params.'">'.$more.'</a>';
		else 
            $readmore = '';

		$newsnr = $zeilen-$i.'.';
		$commentscount = commentscount($eintrag[0]);
		$comments = '<a href="'.ROOT.$newsoutput.'?pn_go=details&amp;page='.$_GET['page'].'&amp;id='.$eintrag[0].$params.'">Comments ('.$commentscount.')</a>';

		$tpl->set_var(array(
			'cat'    	=> $eintrag[5],
			'newsnr'	=> $newsnr,
			'autor'     => $eintrag[1],
			'title'     => $eintrag[2],
			'news'      => $eintrag[3],
			'datum'     => $datum,
			'readmore'  => $readmore,
			'comments'  => $comments));

		$tpl->parse("LOOPSECTION", "LOOP", true);
	}
}


// ----- a single detailed news ------------------------------------------------
if($_GET['pn_go'] == 'details')
{
	for ($i=0; $i<$zeilen; $i++) 
    {
		$eintrag = explode('§',$zeile[$i]);
		
		if ($eintrag[0] == $_GET['id']) 
        {
			$datum = formatdate($eintrag[6], $dateformat);
			$eintrag[1] = getname($eintrag[1], PATH.'inc/pn_userdata.php');
			$eintrag[2]	= formattext($eintrag[2], $smilies, $smiliespath, $texthtml);
			$eintrag[3]	= formattext($eintrag[3], $smilies, $smiliespath, $texthtml);
			
			if($eintrag[4] != '') 
            {
				$eintrag[4]	= formattext($eintrag[4], $smilies, $smiliespath, $texthtml);
				$eintrag[3] = $eintrag[3].'<br /><br /><b>More:</b><br />'.$eintrag[4];
			}
			
			// category system
			if($showcat=='yes') $eintrag[5] = getcat($eintrag[5], PATH.'inc/pn_categories.dat','catpics', $catpics);
			else $eintrag[5] = '';
			
			$commentscount = commentscount($eintrag[0]);
			$comments = '<a href="'.$_SERVER['PHP_SELF'].'?pn_go=details&amp;id='.$eintrag[0].$params.'">Comments ('.$commentscount.')</a>';
			
            if(!isset($newsnr))
                $newsnr='';

			$tpl->set_var(array(
				'cat'    	=> $eintrag[5],
				'newsnr'	=> $newsnr,
				'autor'     => $eintrag[1],
				'title'     => $eintrag[2],
				'news'      => $eintrag[3],
				'datum'     => $datum,
				'readmore'  => '',
				'comments'  => $comments
			));
			
			$tpl->parse("LOOPSECTION", "LOOP", true);
			break;
		}
	}
	
	// show comments overview
		$tpl->parse("HEADER", "COMMENTSHEADER", true);
		$tpl->set_var(array("commentscount" => $commentscount));

	// show comments
	//$zeile 	= file($cf);
	$zeile = array();
	$handle = @fopen($cf, 'r');
	if($handle){
		while(!feof($handle)) {
			$chunk = fgets($handle, 16384);
			if(!empty($chunk))
				$zeile[] = $chunk;
		}
		fclose($handle);
	}
	
	$zeilen = sizeof($zeile);
	$commentnr=0;
	
	for ($i=0; $i<$zeilen; $i++) { 
	    
		$eintrag = explode("§",$zeile[$i]);
		
		if ($eintrag[1] == $_GET['id']) {
			$datum = formatdate($eintrag[5], $dateformat);
			$eintrag[2]	= formattext($eintrag[2], $smilies, $smiliespath, $commenthtml);
			$author = '<a href="mailto:'.$eintrag[4].'">'.$eintrag[3].'</a>';
			
			$commentnr++;
			$tpl->set_var(array(
				"datum"		=> $datum,
				"comment"	=> $eintrag[2],
				"autor"		=> $author,
				"commentnr"	=> '#'.$commentnr));
				$tpl->parse("COMMENTSECTION", "COMMENTS", true);
		}
	}

	// show comment form for a new entry
	$saveurl = ROOT.$newsoutput.'?pn_go=savecomment'.$params;
	empty($_GET['page']) ? $_GET['page']=1 : 0;
	$backurl = ROOT.$newsoutput.'?pn_go=details&amp;page='.$_GET['page'].'&amp;id='.$_GET['id'];

	$tpl->parse("FORM", "COMMENTFORM", true);
	$tpl->set_var(array(
		'saveurl' => $saveurl,
		'commentid' => $_GET['id'],
		'backurl' => $backurl));	
}


// ----- save comment ----------------------------------------------------------
if ($_GET['pn_go'] == 'savecomment') 
{

	if (($_POST['name']=='') OR ($_POST['comment']=='')) 
    {
		echo '<br /><br /><br /><div align="center">Bitte fülle alle Felder aus! Du wirst in 3 Sekunden weitergeleitet.<br /><a href="'.$_POST['backurl'].'">Wenn Du nicht länger warten willst, klicke hier</a>.</div>';
		echo '<meta http-equiv="refresh" content="3; URL='.$_POST['backurl'].'">';		
	} 
    else
    {
		$cf = PATH.'inc/pn_comments.dat';
		//$zeile 	= file($cf);
		$zeile = array();
		$handle = @fopen($cf, 'r');
		if($handle){
			while(!feof($handle)) {
				$chunk = fgets($handle, 16384);
				if(!empty($chunk))
					$zeile[] = $chunk;
			}
			fclose($handle);
		}
		$zeilen = sizeof($zeile);
        
        // add leading 0´s
		if ($zeilen)
        {
			$eintrag = explode("§",$zeile[$zeilen-1]);
			$id = sprintf("%07d", ++$eintrag[0]); 
		}
        else
            $id='0000001';


		$_POST['name']		= cleantext($_POST['name'], 1);
		$_POST['email']		= cleantext($_POST['email'], 1);
		$_POST['comment']	= cleantext($_POST['comment']);
		$datum = time();
		$nl = chr(13).chr(10);
		
		$fp = fopen($cf,"a");
		flock($fp,2);
		fwrite($fp, my_nl2br(implode(array ($id, $_POST['commentid'], $_POST['comment'], $_POST['name'], $_POST['email'], $datum) ,"§")) . $nl);
		flock($fp,3);
		fclose($fp);

		echo '<br /><br /><br /><div align="center">Dein Kommentar wurde erfolgreich eingetragen. Du wirst in 3 Sekunden weitergeleitet.<br /><a href="'.$_POST['backurl'].'">Wenn Du nicht länger warten willst, klicke hier</a>.</div>';
		echo '<meta http-equiv="refresh" content="3; URL='.$_POST['backurl'].'">';
	}
}

 
// ----- navigation links ------------------------------------------------------ 
if(!$_GET['pn_go'] OR $_GET['pn_go']=='')
{
    $nxt = '<br />'.a();
    $last='';
    $top='';
    $backlink = '';
	
    if ($zeilen > $newsperpage) 
    {
		$nextid = $_GET['page'] - 1;  
		$lastid = $_GET['page'] + 1;
	  
		if ($nextid != 0) 
            $last = '<a href="'.$_SERVER['PHP_SELF'].'?page='.$nextid.'">'.$lasttext.'</a>';
		else
			$last = $lasttext;
	
		$top = '<a href="#top">nach oben</a>';
	
		if ($lastid <= $seiten)
			$next =  '<a href="'.$_SERVER['PHP_SELF'].'?page='.$lastid.'">'.$nexttext.'</a>';
		else
			$next = $nexttext;

		$next = $next.$nxt;
	} 
    else 
        $next = $nxt;
	
	$tpl->set_var(array('last' 	=> $last,
						'top' 	=> $top,
						'backlink'=> $backlink,
						'next' 	=> $next));
} 
else 
{
	$next = a();
	$last='';
    $top='';
    if(isset($_GET['page']))
        $_GET['page']=='';
    
	if($_GET['pn_go'] != 'savecomment') 
        $backlink = '<div align="center"><a href="'.ROOT.$newsoutput.'?page='.$_GET['page'].$params.'">Zur&uuml;ck</a></div>';

	$tpl->set_var(array('last' 	=> $last,
						'top' 	=> $top,
						'backlink'=> $backlink,
						'next' 	=> $next));
}


// ----- the rest -------------------------------------------------------------- 
$tpl->set_var(array('admin' => PATH.'admin/'));

// parse and output site
$tpl->parse("out", "seite");
$tpl->p("out");

?>

diese Seite soll sich nur öffnen lassen, wenn ich eingeloggt bin. Bei anderen Seiten löse ich das z.B. so:
PHP:
<?php

session_start();
include '../inc/functions.inc.php';
include '../inc/config.inc.php';
checklogin();

   

echo '  
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">
<html>
<head>
<link type="text/css" rel="stylesheet" href="style/site.css" />
<title></title>
</head>
<body>

Du bist jetzt eingeloggt und kannst die Menüpunkte links öffnen.<br/>
<a href="pn_users.php?go=changeuser&id=001" target="_parent">Passwort ändern</a><br/>
<a href="pn_logout.php?'.$session.'" target="_parent">Logout</a>
</body></html>';


?>

doch wie krieg ich das hin, damit der 1. Code nur geöffnet wird, wenn ich eingeloggt bin?

danke
schlurpsel
 
Die einfachste Variante, die mir auf die schnelle einfällt, wäre am anfang des Codes jeweils zuprüfen, ob die SESSION existiert und der User somit eingeloggt ist oder nicht...
Ungefähr so:
Code:
if(isset($_SESSION))
{
//Code ausführen
// Also der komplette Script hier
}
else
{
//LOG DICH EIN!
}
So in der Art... Isn vereinfachtes Beispiel...
 
Zurück