我有一个名为productFocus.php
的文件,我在其中使用GET变量ID:$id = $_GET["id"];
但是,此页面在product.php
文件中以下列方式使用:
product.php
<?php
$page_content = 'productFocus.php'; // $id = $_GET["id"];
include('master.php');
?>
productFocus.php
<?php
include "db/db.php";
$id = $_GET["id"];
$product = get_product_by_id($id);
?>
<div class="product-focus">
<h3><?php echo $product->name ?></h3>
<img src="/images/products/<?php echo $product->image ?>">
<div id="description">
<h4>Productinformatie</h4>
<p><?php echo $product->description ?></p>
<h4>Partners</h4>
<table>
<?php
foreach($product->partners_obj as $partner) {
?>
<tr>
<td>
<a href=<?php echo $partner->$product_url ?> target="_blank">
<img id="partner" src="/images/partners/<?php echo $partner->image ?>">
</a>
</td>
<td>
<a href=<?php echo $partner->$product_url ?> target="_blank"><?php $partner->$product_price ?></a>
</td>
</tr>
<?php
}
?>
</table>
</div>
</div>
master.php
//HTML code
...
<?php include($page_content);?>
...
//HTML code
当我浏览productFocus.php?id=324324
时,我可以读取GET变量,但当我浏览到product.php?id=324324
时,我无法访问GET变量ID。
有没有一种优雅的方法来解决这个问题?
答案 0 :(得分:1)
在常规页面加载之前,在prodcts.php文件中调用产品详细信息之前,需要检查GET变量。
<?php
if (isset($_GET['id'])) {
// GET PRODUCT DATA
}else{
// LOAD PRODUCTS PAGE
}
?>
至于获取产品详细信息,我建议单独调用数据库,但如果只需要加载页面内容,则不能正确调用它:
$id = $_GET['id'];
$fileurl = 'products.php?id='.$id;
$pagecontent = file_get_contents('$fileurl');