我有以下PHP页面:
的index.php
if( isset($_POST['location']) ) {
$location = $_POST['location'];
} else {
$location = 'home';
}
require 'header.php';
switch ($location) {
case "home": require 'home.php'; break;
case "about": require 'about.php'; break;
case "products": require 'products.php'; break;
case "budget": require 'budget.php'; break;
case "contact": require 'contact.php'; break;
case "help": require 'help.php'; break;
default: require 'home.php';
}
require 'footer.php';
?>
在HEADER里面我有:
的header.php
<body class="<?php echo $location; ?>">
<div id="navmenu">
<ul id="menu">
<li><a id="page_item_1" href="?location=home">Home</a></li>
<li><a id="page_item_2" href="?location=about">About</a></li>
<li><a id="page_item_3" href="?location=products">Products</a></li>
<li><a id="page_item_4" href="?location=budget">Budget</a></li>
<li><a id="page_item_5" href="?location=contacto">Contact</a></li>
<li><a id="page_item_6" href="?location=help">Help</a></li>
</ul>
</div>
但没有任何作用...... POST的位置发生变化但是身体的类没有变化。并且身体的内容都要求(不加载home / about / etc.php)。
我做错了什么? 感谢。
答案 0 :(得分:1)
您通过GET
传递内容,而不是POST
。
if( isset($_GET['location']) ) {
$location = $_GET['location'];
} else {
$location = 'home';
}
为了将来参考,您可以打印GET
和POST
变量,以查看哪些变量包含以下内容:
print_r($_GET);
在这个主题上,$_REQUEST
包含它们:
print_r($_REQUEST);
要发送POST数据,您必须使用表单发送它们 - 这里不相关。您在网址查询字符串中看到的是GET
数据,而不是POST
。
答案 1 :(得分:0)
更改帖子以获取.. 即。
if( isset($_GET['location']) ) {
$location = $_GET['location'];
} else {
$location = 'home';
}
答案 2 :(得分:-1)
你使用GET而不是POST +为什么不使用$ location +“php”? :
if( isset($_GET['location']) ) {
$location = $_GET['location'];
} else {
$location = 'home';
}
require 'header.php';
require $location . '.php';
require 'footer.php';