私はproduct.phpとviewcart.phpという2つのページを持っています。ユーザーがproduct.php上のボタンをクリックすると、製品はバックエンド(属性とともに)に追加され、viewcart.phpに移動します。データは以下のコードでviewcart.phpに送信されます。 product.php上のテキストボックスからの値に加えていくつかのPHP変数が渡されなければなりません(変数は以下の "val"です)。 viewcart.phpで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') ");
;上記のコードのために製品が再び追加されます。ユーザーがproduct.phpの送信ボタンをクリックした場合(viewcart.phpを更新するか、「戻る」ボタンをクリックしてviewcart.phpに移動しない場合)にのみ、製品がデータベースに追加されるようにするにはどうすればよいですか?
私はPHPコードのSQLインジェクションの脆弱性を最初に指摘することができます - SQLと混合する前に変数をエスケープしてください:) – halfer