PHP会话ID问题


PHP Session ID issue

我有一个网站,在刷新页面之前,网站上的某些内容不会出现。

我在我的代码session_start();中发现了这一点。如果我删除我的PHP会话ID,我页面上的东西再次消失,似乎这个会话需要设置在第一个页面加载。。。有人知道怎么做吗?

顺便说一下,不会出现的是一个表单,一个GET表单。

感谢

这是会话的代码

function wpsc_core_load_session() {
    if ( !isset( $_SESSION ) )
        $_SESSION = null;
    if ( ( !is_array( $_SESSION ) ) xor ( !isset( $_SESSION['nzshpcrt_cart'] ) ) xor ( !$_SESSION ) )
        session_start();
}

他就是没有出现的人

<form class="product_search" style="font-size:0px !important;" method="GET" action="<?php echo $pp_url?>/" >
                <input name="product_search" id="wpsc_search_autocomplete" class="wpsc_product_search wpsc_live_search_embed .wpsc_live_search" autocomplete="off" style="padding:0px !important; height:25px !important; vertical-align:top;" />
                <script type='text/javascript' > /* <![CDATA[ */
                    jQuery('#wpsc_search_autocomplete').keypress( function(e){
                        if ( e.keyCode == 13 ) {
                            var url = '<?php echo $pp_url ?>'+'?product_search='+jQuery(this).val();
                            url = encodeURI(url);
                            jQuery(window.location).attr('href', url);
                        }
                    });
                     /* ]]> */
                     </script>
                     <input type="submit" id="button" name="button" class="searchBtn" value="GO"/>
            </form>

我打开了Wordpress调试器,这就是的结果

Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at /home/content/19/9468119/html/wp-content/plugins/jquery-colorbox/jquery-colorbox.php:34) in /home/content/19/9468119/html/wp-content/plugins/wp-e-commerce/wpsc-core/wpsc-constants.php on line 13
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /home/content/19/9468119/html/wp-content/plugins/jquery-colorbox/jquery-colorbox.php:34) in /home/content/19/9468119/html/wp-content/plugins/wp-e-commerce/wpsc-core/wpsc-constants.php on line 13

当丢失的表格在那里时,就会显示此消息。。。。

Notice: A session had already been started - ignoring session_start() in /home/content/19/9468119/html/wp-content/plugins/wp-e-commerce/wpsc-core/wpsc-constants.php on line 18

您有一个基本问题:

if ( !isset( $_SESSION ) )
    $_SESSION = null;
if ( ( !is_array( $_SESSION ) ) xor ( !isset( $_SESSION['nzshpcrt_cart'] ) ) xor ( !$_SESSION ) )
    session_start();

在会话启动之前,您无法访问该会话。尝试启动它,然后访问它…

此外,xor是按位比较。。。我不确定这是否是你在这里寻找的,也许||就是。

似乎这个会话需要设置为第一页加载。。。有人知道怎么做吗?

通常情况下,第一页加载由脚本的顶部或输出标题之前运行的任何内容表示,但由于您的新内容,我只说顶部。试着把它放在那里。

很可能你收到了一个错误,并关闭了display_errors,因此我认为你会得到一个空白页面。