0

私はいくつかの助けを借りて、ボタンのクリックでイベント ID (wordpress を介してページごとに生成された) を保存するセッションを開始しました。

このように見えます...

<form action="/addtobasket.php" method="post">
<input type="hidden" name="event_id" value="101" />
<input type="submit" name="Add to Basket" />
</form>

そしてaddtobasket.phpは...

<?php
session_start();
$_SESSION['event_orders'][] = $_POST['event_id'];
?>

今問題は、私が追加したときです

<?php
session_start();
foreach($_SESSION['event_orders'] AS $event_id){
echo 'Your ordered event ID is: ' .$event_id;
} ?>

ヘッダーでは (コードが機能していることをテストするためだけに)、複数回クリックしたかどうかに応じて、同じイベント ID を複数表示できます。これを停止する解決策は (ユーザーがセッションに保存された各イベント ID を最大 1 つだけ持つことができるようにしたいため)、現在のイベント ID がセッションに保存されている場合に削除ボタンを表示することだと思います。ロジックを理解しているだけで、それを実行する方法がわからないだけで、この効果に何か...

(IF SESSION HAS CURRENT PAGE IF) show remove ID from session button (どのように見えるかわからない) (ELSE) show standard add ID button (END)

これは正しいロジックですか?もしそうなら、どうすればこれを実行できますか?

事前に助けていただければ幸いです。

4

1 に答える 1

0

配列のキーにイベントIDを格納すると二重加算を回避できます。

<?php
session_start();
$_SESSION['event_orders'][ $_POST['event_id']] = true;
?>

今問題は、私が追加したときです

<?php
session_start();
foreach($_SESSION['event_orders'] AS $event_id => $true){
echo 'Your ordered event ID is: ' .$event_id;
} ?>
于 2012-06-21T10:58:34.633 に答える