kostenloser Webspace werbefrei: lima-city


Template splitten

lima-cityForumDie eigene HomepageHomepage Allgemein

  1. Autor dieses Themas

    atraxoo

    atraxoo hat kostenlosen Webspace.

    Hallo :)

    Ich wollte euch fragen, ob ihr wisst ob man das so lösen, kann bzw ob irgendetwas dagegen spricht das Template zu splitten, und ob die Seite dadurch irgendwelche Sicherheitslücken aufweisen kann.

    Das Prinzip funktioniert bei mir jedenfalls.
    Ich habe ein Template erstellt, dass die Form der Seite darstellt, und je nach dem auf welcher Seite man sich befindet soll sich eben ein anderer Inhalt befinden.

    Ich habe das dann so gelöst.
    Ich habe das Template zuerst bis zu <div id="content"> gemacht und dann unter formopen gespeichert. Dann hab ich eine zweite Datei, formclose gemacht und dann in dieser Datei den Rest noch geschlossen und den footer hinzugefügt. Es fängt also mit </div> (von id="content") an.

    Jetzt wenn ich einen Inhalt will brauch ich nur noch include formopen dann den ganzen Inhalt schreiben und dann include formclose.

    Der Code dazu: (Nochmal, das Prinzip funktioniert an und für sich)

    formopen.php (Den Code könnt ihr ignorieren es geht nur um das Prinzip)
    <?php 
    
    if (session_status() == PHP_SESSION_NONE) {session_start();};
    $file  = $_SERVER['SCRIPT_FILENAME'];
    
    if(strpos($file, 'quote.php'))
    {
    	$swap = FALSE;
    	if(isset($_SESSION['userID']))
    	{
    		$user =  TRUE;
    	}
    	else
    	{
    		$user = FALSE;
    	}
    
    }
    else
    {
    	$swap = TRUE;
    	$user = TRUE;
    }
    
    if (!isset($_SESSION['uname']) AND $swap ) {
    	$host  = $_SERVER['HTTP_HOST'];
    	$uri   = rtrim(dirname($_SERVER['PHP_SELF']), '/\\');
    	$extra = 'index.php';
    	session_destroy();
    	header("Location: http://$host$uri/$extra");
    	};
    
    ?>
    <DOCTYPE html>
    <head>
    
    <link href="CSS/css_form.css" rel="stylesheet" type="text/css">
    <link href="CSS/css_ticker.css" rel="stylesheet" type="text/css">
    <link href="CSS/css_quote.css" rel="stylesheet" type="text/css">
    <link href="CSS/css_newquote.css" rel="stylesheet" type="text/css">
    <link href="CSS/css_menu.css" rel="stylesheet" type="text/css">
    <link href="CSS/css_noaccount.css" rel="stylesheet" type="text/css">
    <link href="CSS/css_follow.css" rel="stylesheet" type="text/css">
    <link href="CSS/css_settings.css" rel="stylesheet" type="text/css">
    
    <script type="text/javascript" src="http://code.jquery.com/jquery-latest.js"></script> <!-- http://code.jquery.com/jquery-latest.js -->
    <script type="text/javascript" src="JS/js_form.js"></script>
    <script type="text/javascript" src="JS/js_ticker.js"></script>
    <script type="text/javascript" src="JS/js_open_user.js"></script>
    
    
    
    <title>Quotelima</title>
    
    <link rel="shortcut icon" href="http://atraxoo.lima-city.at/favicon.ico" type="image/x-icon">
    <link rel="icon" href="http://atraxoo.lima-city.at/favicon.ico" type="image/x-icon">
    
    
    </head>
    <body>
    
    <div id="headingfix">
    	<div id="heading">
    		<a href="home.php"><img src="logo.png" class="logo"/></a>
    		<div id="ticker">
    			<p class="quote">Don't hate, donate</p>
    			<p class="dash">- </p>
    			<p class="author">atraxoo</p>
    		
    		</div>
    	</div>
    </div>
    
    <div id="main">
    
    
    	<div id="maincontent">
    		
    		
    		<?php
    		if($menu)
    		{
    		include('menu.php');
    		}
    		
    		if(!$user)
    		{
    			include('noaccount.php');
    		}
    
    		?>
    		
    		
    		
    			
    		<div id="content">


    formclose.php
    </div>
    				
    		
    	</div>
    		
    
    </div>
    <div id="footer">Footer</div>
    </body>
    </html>



    und dann die datei, also irgendeine seite in der dann der inhalt definiert wird
    <?php
    $menu=TRUE;
    include('formopen.php');
    ?>
    
    
    <p>INHALT</p>
    
    
    <?php
    echo 'INHALT';
    ?>
    
    
    
    
    
    <?php
    include('formclose.php');
    ?>


    Beitrag zuletzt geändert: 20.2.2015 16:54:09 von atraxoo
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. Mit der Sicherheit gibt es da kein Problem. Du könntest vielleicht die formclose.php mit readfile, anstatt mit Include ausgeben, weil du dort kein PHP verwendest.
    Störend wirkt auf mich die dadurch scheinbar schlechte Strukturierung.
    Beispiele:
    - HTML Quelltext wird in zwei Dateien zerrissen. (Stell dir mal vor, du hättest meht als eine Variable und noch mehr Bruchstücke)
    - Die PHP-Anweisungen, die du immer mit ausführst stehen in der gleichen Datei wie das erste HTML-Bruchstück
    Unabhängig davon mischst du immer wieder HTML und PHP.

    Ich möchte als Alternativlösung für dieses Problem hier noch meine Vorgehensweise zeigen.
    Ich habe z.B. das folgende HTML Template, in dem eine Überschrift und ein Text dynamisch eingebaut werden können:
    template.html
    <!doctype html>
    <html>
      <head>
        <title>Überschrift und Text</title>
        <meta charset="utf-8">
      </head>
      <body>
        <h1>$ueberschrift</h1>
        <p>$absatz</p>
      </body>
    </html>

    Dieses wird jetzt so in PHP verwendet:
    <?php
      $ueberschrift="Testsatz";
      $absatz="Franz jagt im komplett verwahrlosten Taxi quer durch Bayern.";
      
      $template=file_get_contents("template.html");
      eval("echo <<< EndOfTemplate
    $template
    EndOfTemplate;\n");
    ?>
    Ihr dürft gerne mal gegenüberstellen und bewerten.
  4. Autor dieses Themas

    atraxoo

    atraxoo hat kostenlosen Webspace.

    fuerderer schrieb:
    Ich möchte als Alternativlösung für dieses Problem hier noch meine Vorgehensweise zeigen.
    Ich habe z.B. das folgende HTML Template, in dem eine Überschrift und ein Text dynamisch eingebaut werden können
    ?>[/code]Ihr dürft gerne mal gegenüberstellen und bewerten.


    Da alles im template, bis auf den content immer gleich bleibt, ist das ja nicht notwendig oder?


    Du könntest vielleicht die formclose.php mit readfile, anstatt mit Include ausgeben, weil du dort kein PHP verwendest.
    Störend wirkt auf mich die dadurch scheinbar schlechte Strukturierung.
    Beispiele:
    - HTML Quelltext wird in zwei Dateien zerrissen. (Stell dir mal vor, du hättest meht als eine Variable und noch mehr Bruchstücke)


    Eben genau darum geht es in meinem Prinzip, dass eben der html code auseinandergerissen wird. Ich finde es dann aber unheimlich praktisch den ganzen Code für den content einfach dazwischen zu definieren, und nicht dann nocht durch irgendwelche variablen oder sonstigem hineinzubekommen.

    Und sofern genau das 'erlaubt' ist, also dadurch keine Sicherheitslücken oder Ähnliches entstehen finde ich, dass es eine gute Lösung wäre.

  5. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!