【发布时间】:2013-05-19 09:08:56
【问题描述】:
我正在尝试创建一个对 SEO 友好的网站。目前页面可以工作,因为 id 显示在 URL 中,所以就像 product.php?id=4 但是我想用 product_name 替换 ID,但是这个值可以包含空格,所以 URL 看起来像 product.php?product_name=fence%20panel但这不起作用,因为我使用这个 GET 变量在我的数据库中查找产品详细信息,当它这样做时,它认为它是一个单词,所以没有找到产品。所以我认为我需要的是一个添加连字符的变量product.php?product_name=fence-panel,但也是一个将这个连字符改回空格的变量。如果我错了,请纠正我
if(isset($_GET['id'])){
$id = $_GET['id'];
//Get the product if exists
//if no product then give a message
$sql = mysqli_query($myNewConnection, "SELECT * FROM products WHERE id='$id' LIMIT 1");
$productCount = mysqli_num_rows($sql);
if ($productCount > 0) {
//get product details
while($row = mysqli_fetch_array($sql)){
$product_name = $row["product_name"];
$price = $row["price"];
$details = $row["details"];
$category = $row["category"];
$date_added = strftime("%b %d, %Y", strtotime($row["date_added"]));
$_SESSION['product_price_array'] = $price;
}
} else{
echo "No Product in the system";
exit();
}
【问题讨论】:
-
这是黑客友好的
-
@marabutt 需要详细说明吗?
-
打开sql注入
-
@marabutt 是这样还是如果我改变它?
-
原样。查看以
$sql开头的行。