2016-06-03 10 views
-2

Ich möchte Titel dieser Willkommensseite festlegen, aber mein Code funktioniert nicht. Wo ist das Problem? Danke allen.html php Titel funktioniert nicht

index.php:

$page = ""; 
include('layout/meta.php'); 

if(isset($_GET['page']) && $_GET['page'] == 'welcome') { 
     $page = 'welcome'; 
     include('layout/welcome.php'); 
} 

Layout/meta.php

<html> 
    <head> 
     <?php 
     if($page == 'welcome') { ?> 
      <title>Welcome</title> 
      <?php 
     } 
     if($page == 'home') { ?> 
      <title>Home</title> 
      <?php 
     } 
     ?> 
     <link rel="stylesheet" href="/css/style.css"/> 
    </head> 

    <body> 
+1

Verschieben Sie das Include unterhalb der 'if (isset ($ _ GET' Klausel. – Epodax

+1

Definieren Sie' $ page = 'Willkommen'; 'vor dem Aufruf' include ('layout/meta.php'); ' – Saty

Antwort

0

mit diesem Versuchen, $page wird nach dieser Zuweisung, so dass Sie entweder $_GET['page'] ersten oder Benutzer zuweisen zu müssen.

<?php 

    if(isset($_GET['page']) && $_GET['page'] == 'welcome') { ?> 
     <title>Welcome</title> 
     <?php 
    } 
    if(isset($_GET['page']) && $_GET['page'] == 'home') { ?> 
     <title>Home</title> 
     <?php 
    } 
    ?> 
+1

Warum sollte das OP "damit versuchen"? Eine *** gute Antwort *** wird immer eine Erklärung haben, was war getan und warum es so gemacht wurde, nicht nur für das OP, sondern für zukünftige Besucher von SO. –

+0

Agee mit dir, habe meine ANS aktualisiert. – C2486

0

Warum Sie tun Seitennamen in der GET-Parameter übergeben, wo man es mit PHP globale Variablen bekommen, das ist, wie Sie die Seite Dateinamen erhalten.

$filename=basename($_SERVER['PHP_SELF']); // Returns the current PHP File name 

Jetzt verwenden Sie es wie folgt.

<?php if($filename == 'welcome.php') { ?> 
     <title>Welcome</title> 
<?php } else if($filename == 'home.php') { ?> 
     <title>Home</title> 
<?php } ?> 

Dies wird Ihren Code mit weniger Aufwand vereinfachen.

0

Warum verwenden Sie keine Switch-Kontrollstruktur? es können Sie Ressourcen schonen, auch, Sie Code für mich nicht sehr gut lesbar ist, ziehe ich es wie das Ihre heredoc in Situationen zu verwenden, das heißt:

<?php 
switch($page){ 
    case "home": 
     $page = "<title>Home</title>"; 
     break; 

    case "welcome": 
     $page = "<title>Home</title>"; 
     break; 
} 

echo <<< EOF 
<html> 
    <head> 
     {$title} 
     <link rel="stylesheet" href="/css/style.css"/> 
    </head> 
    <body> 
EOF; 
0

Sie mögen dieses

Index.php 
include('layout/meta.php'); 

if(isset($_GET['page']) && $_GET['page'] == 'welcome') { 
     $data['page'] = 'welcome'; 
     include('layout/welcome.php',$data); 
} 

ich verwenden kann, hoffe, dass es Ihnen hilft