产品详细信息未按预期显示

时间:2015-02-26 17:59:16

标签: php url url-rewriting url-routing

我在github上找到了这个php项目。 Vanilla Kit [https://github.com/syndicatefx/vanilla-kit],是一个非常简单的PHP动态网站模板,我喜欢干净的文件夹结构,因此决定使用/尝试它。

这是根目录上的索引页面,非常简单。它调用用户请求的页面(在文件夹页面中)并用请求的页面名称替换变量$ page并显示它。

<?php
// Defualt page will always be pages/homepage.html, if not, change this to the name of the file you have created to be the homepage.
$page = 'homepage';

// Get pages based on user input 
if (!empty($_GET['name'])) {
    //Assign a variable to a sanitised version of the data passed in the URL
    $tmp_page = basename($_GET['name']); 
    //If the file exists, update $page
    if (file_exists("pages/{$tmp_page}.php")) 
        $page = $tmp_page;
    //If the file does not exist, include notfound page and exit  
    elseif(!file_exists($tmp_page)){
        include 'pages/notfound.php';
        exit;
        }
    }

// Include $page (declared default)
include ("pages/$page.php");
?>

作为主页的默认页面从products表中提取产品并显示它。

<?php 
// Edit this page's title, description and keywords for SEO
$pagetitle = 'Welcome';
$pagedescription = 'description goes here...';
$pagekeywords = 'keywords,go,here';
// Add a class to body for more CSS power
$bodyclass = 'home';
// Do Not Remove
include 'inc/header.php'; 
?>

<?php 
$dbquery = "SELECT * FROM lbtbl_products"; 
$productresult = $dbconnect->query($dbquery);

if ($productresult->num_rows > 0) {
while($row = $productresult->fetch_assoc()) { ?>
<div class="prod-cnt prod-box">
<form method="post" action="cartupdate.php">
<h3 class="prod-title">
<a href="productdetail.php?id=<?php echo $row['lbproductId'];?>"><?php echo $row["lbproductName"]; ?></a>
</h3>
<p><?php echo $row["lbproductDescription"];?></p>
<div class="price-cnt">
<div class="prod-price"><img src="images/common/rupees.png" width="7" height="10"/> <?php echo $row["lbproductPrice"];?></div>
Qty <input type="text" name="product_qty" value="1" size="3" />
<button class="add_to_cart">Add To Cart</button>
<input type="hidden" name="product_code" value="<?php echo $row["lbproductSku"];?>" />
<input type="hidden" name="type" value="add" />
<input type="hidden" name="return_url" value="<?php echo $current_url;?>" />
</div>
</form>
</div>
<?php }
} else {
echo "0 results";
}
$dbconnect->close(); ?>
<?php include 'inc/footer.php'; ?> 

到目前为止一切正常。

现在,为了显示产品详细信息,我有一个页面名称productdetails.php,它作为所有其他页面保存在pages目录中。 “主页”上用于查看产品详细信息的链接是

<a href="productdetail.php?id=<?php echo $row['lbproductId'];?>"><?php echo $row["lbproductName"]; ?></a>

但是一旦点击,就会显示404未找到的页面。但是,如果我将productdetails.php页面移动到根目录,它就可以工作。任何人都可以帮助/建议解决方案。我最好的猜测是它与注释后的index.php代码有关//根据用户输入获取页面。

1 个答案:

答案 0 :(得分:0)

尝试并分享结果。

<a href="?name=productdetail.php&id=<?php echo $row['lbproductId'];?>"><?php echo $row["lbproductName"]; ?></a>

在您的商品详情页面中,您应该使用$ _GET [&#39; id&#39;]运行您的选择查询。 它可能会起作用,尝试并分享结果。