Dinamik başlıklar iyi yolu nedir?

2 Cevap

header.php

<?php

$conn = mysql_connect('localhost', '-', '-');
@mysql_select_db('accmaker', $conn) or die("Unable to select database");

?>

<html>
<head>
<title>Mysite.com - <?php isset($pageTitle) ? $pageTitle : 'Home'; ?></title>
</head>
<body>

profile.php

require 'header.php';

$q = mysql_query("SELECT * FROM users WHERE username = '$username'");

$r = mysql_fetch_assoc($q);

$pageTitle = "Profile of $r[username]";

Ben ne istediğimi anlıyorum

I mysql bağlı olmaz, çünkü sorgudan sonra header.php dahil olamaz

Eğer Waht önerirsiniz bağlantı her sayfada pasajı olan başka

2 Cevap

Ne önerirsiniz? Gibi bir MVC (Model-View-Controller) Çerçeve Kohana. Eğer bu yolu gitmek istemiyorsanız, kendi dosyası içine kapalı bağlantınızı kırmak:

<?php

  # connect
  require_once("connection.php");

  # load page data array
  require_once("page-data.php");

?>
...
<title><?php print $page["title"]; ?></title>

Ben veri $page dizi var burada nasıl unutmayın. Daha sonra çok sayıda bağımsız değişkenleri olan daha ayıklarken bu yararlı olacaktır. Sayfa verileri bir dizi, ben hızlı bir şekilde herhangi bir sayfa için ortaya konulan tüm bilgileri görebilirsiniz:

print "<pre>";
print_r($page);
print "</pre>";

Lütfen başlık belirlenmesi yerine sayfanızda daha page-data.php içinde yapılmalıdır:

$config["site_name"]   = "Bob's Shoe Mart";
$config["admin_email"] = "bob@shoemart.com";

/* query to get $row['title'] */

$page["title"] = (!empty($row["title"])) ? $row["title"] : $config["site_name"] ;

Bir "en iyi" çözüm emin, ama biz şu anda birden fazla dosya dahil değildir. Biz veritabanına bağlanan ve bazı güzel işlevleri sağlar bizim "utilities.php" dosyası var. Sonra bizim sayfa başlıkları ayarlamak ve sonra biz düzen kısmıdır "top.php" içerir. Bu görüntüleme amaçları için PHP biraz ile HTML dışında bir şey yok. Bu gibi görünüyor:

include "utilities.php";
$pageTitle = "Welcome";

include "top.php";