【发布时间】:2015-06-11 23:16:08
【问题描述】:
我通过 URL 传递 ProductName,其中 2 个名称中有单引号(这导致按钮无法工作)是否有任何解决方法?我试过玩 htmlentities() 但这并不能解决问题。当我尝试单击名称中包含引号的产品时,我得到了 Uncaught SyntaxError: Unexpected identifier 错误。
<?php
$search = $_GET['search'];
require 'db/connect.php';
$result = $db->query("SELECT * FROM products WHERE ProductSearch = '$search'");
if($result->num_rows){
echo '<table border="0" cellspacing="0" style="width:100%;">';
echo '<tr><td></td><td><u>Product Name</u></td><td><u>Price</u></td><td><u>Wisconsin Artisans</u></td></tr>';
while($row = $result->fetch_assoc()){
$ProductId = $row['ProductId'];
$ProductImage = htmlentities($row['ProductImage'], ENT_QUOTES, 'UTF-8');
$ProductName = $row['ProductName'];
$ProductPrice = $row['ProductPrice'];
echo '<tr>';
echo '<td><a href="productpage.php?productid=', $row['ProductId'],'"><img height="80px" width="80px "src="', $row['ProductImage'] ,'"/></a></td>';
echo '<td><a id="productlink" href="productpage.php?productid=', $row['ProductId'],'">', $row['ProductName'], '</a></td>';
echo '<td> $', $row['ProductPrice'], '</td>';
echo '<td> ', $row['ProductVendor'], '</td>';
//echo '<td><input type=button onClick="location.href=\'cart.php?ProductId=', $row['ProductId'], '\'" value=\'Add to Cart\' id="addtocart"></td></tr>';
echo '<td><input type=button onClick="location.href=\'cart.php?ProductId=', $ProductId, '&ProductName=', $ProductName, '&ProductPrice=', $ProductPrice, '&ProductQty=1\'" value=\'Add to Cart\' id="addtocart"></td></tr>';
}
echo '</table>';
$result->free();
}
else{
echo '<h3 style="color:black;">No products here just yet, but there will be soon!</h3>';
}
?>
【问题讨论】:
-
您可以创建自己的函数将特殊字符转换为其他字符,例如将单引号转换为“;sq;”或类似的东西(发挥你的想象力)。
-
我将如何处理那个 Jose?我边走边学……
-
使用 JavaScript = *.com/questions/784586/…
-
使用 PHP = *.com/questions/28885466/…
-
为什么你把
$ProductName这样的变量都设置了,而echo语句中却没有用到?