سؤال

وصفحات موقعي على الانترنت هي (أو سوف) يكون كل متطابقة، باستثناء محتوى شعبة #main. لذلك أنا أفكر في يمكن أن أفعله <?php $page = "home.html"?>، حيث home.html هو محتويات العارية (وليس صفحة HTML كاملة - لا الخ) من شعبة الرئيسي للصفحة الرئيسية. حتى ذلك الحين داخل

و
أنا يمكن أن يكون <?php include($page);?>. ثم السبب أنا أسأل هذا السؤال أريد أن أغير الصفحة $ عند النقر على رابط. كيف يمكنني أن أفعل هذا؟ شكرا.

هل كانت مفيدة؟

المحلول

هل يمكن أن تجعل الروابط يكون مثل هذا:

<a href="mypage.php?page=other_page">Other Page</a>

وبعد ذلك أيضا في الجزء العلوي من الصفحة حيث قمت بتعيين page لقيمة $_GET['page']

<?php
  if (isset($_GET['page']))
  {
    $page = $_GET['page'] . ".html";
  } else {
    $page = "home.html";
  }
?>

نصائح أخرى

وصلتك يجب أن يكون مثل:

home.php?page=test

وسوف تحصل على قيمة المتغير في الصفحة الخاصة بك مثل هذا:

if(isset($_GET['page']))
  $page = $_GET['page'].'.html';
else
  $page = 'index.html';

ويمكنك أن تفعل شيئا مثل: http://yoursite.com/index.php؟page=test.html http://yoursite.com/index.php؟page=test ( وإلحاق هتمل لاحقا).

وعلى سبيل المثال:

<?php $page = preg_replace('/[^A-Za-z]/','', $_GET['page']);
$path = 'pages/'.$page.'.html'
if (file_exists($path)){ $output = file_get_contents($path); }
 else { header("HTTP/1.0 404 Not Found");
 $output = file_get_contents('pages/404.html'); }
?>

و(وضع بقية الملفات الخاصة بك بعد فب لرأس 404 للعمل).

وبعد ذلك، يمكنك أيضا استخدام يعيد كتابة اباتشي:

Rewrite Engine On
Rewrite Rule ^([A-Za-z]+)$ index.php?page=$1

وبعد ذلك استخدام وصلات مثل http://mysite.com/page_name

وبعد ذلك في شعبة الرئيسي:

<?php echo $output; ?>
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top