تنفيذ PHP على النقر على رابط
سؤال
وصفحات موقعي على الانترنت هي (أو سوف) يكون كل متطابقة، باستثناء محتوى شعبة #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; ?>
لا تنتمي إلى StackOverflow