我有兩個頁面,product.php和viewcart.php。當用戶點擊product.php上的按鈕時,它會將產品添加到後端(以及它的屬性)並轉到viewcart.php。通過下面的代碼將數據提交給viewcart.php。除了來自product.php文本框的值之外,還有一些需要傳遞的php變量(下面的變量是「val」)。如何解決與使用php將條目插入到mysql有關的問題?
<script language="javascript">
function test()
{
var val=document.getElementById("textarea").value;
var hrf="viewcart.php?retailer=<?php echo $retailer?>&link=<?php echo $link; ?>&price=<?php echo $price; ?>&title=<?php echo $title; ?>&options="+val;
document.getElementById("a_link").href=hrf;
}
</script>
<a href ="#" id="a_link" onclick="test();" class="btn btn-success" type="submit"><i class="icon-shopping-cart icon-white"></i> Add to Cart</a>
在viewcart.php,該產品被添加到後端,然後通過下面的代碼獲取顯示:
@$link = $_GET['link'];
$price = $_GET['price'];
$title = $_GET['title'];
$retailer = $_GET['retailer'];
$options = $_GET['options'];
$session = session_id();
$_SESSION['sess_var'] = $session;
//connect to database code here
mysql_query("INSERT INTO sessionid (sessionid, link, retailer, price, title, qt, options) VALUES('$session' , '$link', '$retailer', '$price', '$title', 1, '$options') ");
我遇到的問題是,當用戶刷新viewcart.php ;由於上面的代碼,產品再次被添加。如果用戶點擊product.php上的提交按鈕(而不是刷新viewcart.php或單擊「後退」按鈕以轉到viewcart.php),如何確保產品已添加到數據庫?
允許我成爲第一個指出PHP代碼中的SQL注入漏洞 - 在與SQL混合之前轉義您的變量:) – halfer 2012-03-04 10:56:28