【问题标题】:clearing two dimensional session array using jsp使用jsp清除二维会话数组
【发布时间】:2012-07-14 01:54:17
【问题描述】:

我有一个二维会话数组,我正试图在打印账单后清除它。为此,我正在使用此代码

<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>

但此代码并未清除会话。我使用谷歌浏览器和 Internet Explorer 进行了尝试,但没有成功。谁能帮我解决这个问题? 我也尝试用 php 来做,但它也对我不起作用。我的情况我想通过在键盘上按 x 来删除会话,不管是什么语言,我只想按 x 键清除会话

【问题讨论】:

    标签: php javascript session


    【解决方案1】:

    您可以使用 JavaScript 来捕获按下“x”键的时间,并重定向到 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
    

    【讨论】:

    • 是的,我用过这种方式。但是当我使用这种方式时,它只会清除一次会话。当我第一次添加并清除它时,我可以第二次添加该项目。但是,如果我再次清除它并且尝试再次添加相同的项目,则会出现该错误。 “你想添加一个相同的项目......”
    猜你喜欢
    • 2016-01-18
    • 2015-08-14
    • 2015-09-15
    • 2022-07-08
    • 1970-01-01
    • 2018-04-13
    • 1970-01-01
    • 2019-04-20
    • 1970-01-01
    相关资源
    最近更新 更多