0

2 次元のセッション配列があり、請求書が印刷された後にそれをクリアしようとしています。そうするために、私はこのコードを使用しています

<script type="text/javascript">
    function textsizer(e) {
    var evtobj=window.event? event : e;
    var element = evtobj.target ? evtobj.target : evtobj.srcElement;
    if (element.tagName.toLowerCase() == "body") {
        var unicode=evtobj.charCode? evtobj.charCode : evtobj.keyCode;
        var actualkey=String.fromCharCode(unicode)
        if(actualkey=="x"){
            show_confirm()
            function show_confirm(){
            var con = confirm("Are You Sure you wan to cancel this bill?");
            if (con ==true){
                session.invalidate();
            }
            else{
            alert("You pressed Cancel!");
            }
            }
        }
    }
}
document.onkeypress=textsizer
</script>

しかし、このコードはセッションをクリアしていません。google chrome と Internet Explorer で試してみましたがだめでした。誰かがこのことについて私を助けることができますか? 私もphpでやろうとしましたが、うまくいきませんでした。私の場合、キーボードの x を押してセッションを削除したい言語が何であれ、x キーを押してセッションをクリアしたいだけです

4

1 に答える 1

0

「x」キーが押されたときに JavaScript を使用してキャプチャし、PHP ページにリダイレクトしてセッションをクリアすることができます。したがって、次のようなものが必要です。

//Your main page
<script type='text/javascript'>
window.onkeypress = function() {
    if (event.keyCode == 88) {
        window.location = 'clear_session.php';
    }
}

//clear_session.php
session_start();
session_unset();
session_destroy();
header ("Location:main_page.php"); //redirect back to main page
于 2012-07-13T17:54:17.970 に答える