2016-08-03 7 views
0

私はカート内の各アイテムの数量を入力することができ、ページが自動的にリフレッシュされ、セッション中にデータが確実に保持されるようになっています。

私はボタンをクリックしてユーザーがクリックして合計金額にVATを含めたり除外したりできます。私はこれを行うためにjQueryを使用しています。私が持っている問題は、ボタンをクリックすると、 'Include VAT'からjsごとに 'VATを除外'に変更されますが、ボタンがデフォルトの 'Include VAT'テキストがリフレッシュ時にデフォルトに戻ります。言い換えれば、私はまだボタンの状態をセッション変数として保存していないか、まだ新しいバージョンの変数を呼び出すことはできません。

ここに私の現在の試行...フォーム内shop.phpで

です:

フォームが送信されるたびに(クリックするとページの更新を行うこと、解雇され
if (empty($_SESSION['VAT'])){ 
    $_SESSION['VAT'] = "Include"; 
} 
echo '<button id="togglevat" type="submit" name="vat" class="bodybutton vatbuttons includevat">'.$_SESSION['VAT'].' VAT</button>'; 

そしてcart_update.phpでは、 VATボタンを押しても送信されます)。

希望はこれで十分です。何か助けてくれてありがとう。

+0

問題は、ユーザーが何をしても、ページが更新された後にボタンが「VATを含む」状態を維持していることです。 – Sergeon

+0

それは正しいSergeonです! –

+0

@MarkHolland注:あなたのコードにXSSの脆弱性があります。返信するときにユーザ入力をサニタイズするには、常に 'htmlspecialchars(string)'を呼び出す必要があります – Paradoxis

答えて

0

あなたがアクティブなクラス

button.active{ 
    background: #bbb; 
    border-top: solid 2px #777; 
    border-left: solid 2px #777; 
    border-bottom:solid 2px #eaeaea; 
    border-right: solid 2px #eaeaea; 
} 

PHP

$class = ""; 
if (empty($_SESSION['VAT'])){ 
    $_SESSION['VAT'] = "Include"; 
    $class = "active"; 
} 
echo "<button id='togglevat' type='submit' name='vat' class='bodybutton vatbuttons includevat $class'>".$_SESSION['VAT']." VAT</button>"; 
+0

答えpolamarosに感謝します。これにより、ボタン内にテキストを保存できますか?私はおそらく私の質問でこれで明確ではなかったと思うので、私はそれを編集します。クリックしたときにボタンを 'Exclude VAT'に変更すると、ページが再びクリックされるまでページが更新されてもそのままになります。 –

0

cart_update.phpで$ _POST [ 'バット']の値とは何ですかを追加することができますか? 必要なものがあれば、セッション変数の問題です。セッションを開始するのを忘れるかもしれません。

+0

こんにちはJeram、cart_update.phpに含まれています。値はセッション変数に渡され、shop.phpがリフレッシュされたときに使用されます。セッションは間違いなく開始されていますので、問題はありません。あなたはなにか考えはありますか?ありがとう! –

関連する問題