-5

サイトを持っていますが、ページを更新するまでサイト上の何かが表示されません。

PHPセッションIDを削除すると、ページ上のものが再び消えますsession_start();。このセッションは最初のページの読み込み時に設定する必要があるようです...誰かがそれを行う方法を知っていますか?

ちなみに表示されないのはフォーム、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
4

1 に答える 1

0

根本的な問題が 1 つあります。

if ( !isset( $_SESSION ) )
    $_SESSION = null;

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

セッションが開始される前にセッションにアクセスすることはできません。起動してからアクセスしてみてください...

また、xorはビットごとの比較です...それがあなたがここで探しているものかどうかはわかりません||

このセッションは最初のページの読み込み時に設定する必要があるようです...誰かその方法を知っていますか?

通常、最初のページの読み込みは、スクリプトの先頭またはヘッダーを出力する前に実行されるものによって示されますが、新しいので、先頭で言います。そこに置いてみてください。

ほとんどの場合、エラーが発生してdisplay_errors終了し、空白のページが表示されると思います。

于 2012-08-23T19:46:57.317 に答える