-1

このサイトはhttp://www.taranmarlowjewelry.com/にあります。右上隅にショッピングカートがありますが、最初にサイトにアクセスしたときは表示されませんが、ページを更新すると表示されます。それが現れます。

私はこれを調査してきましたが、このCookieを削除するとショッピングカートが再び消えてしまうため、このCookiePHPSESSIDに関係していると思います。

また、これはPHP構成の問題であると言われています。

php5.iniファイルを次のように調整してみました...

session.use_only_cookies = 1
session.use_trans_sid = 0

session.url_rewriter.tags = ""

しかし、それはうまくいきませんでした....私はここからそれを手に入れましたhttp://wordpress.org/support/topic/frontpage-slideshow-and-phpsessid-in-general-fix?replies=1

私のphp構成でどちらを調整する必要があるか誰かが知っていますか?

このようなタグの直後にwp-content/themes / twintyeleven/header.phpにCookieを設定しようとしました...

<?php
setcookie("PHPSESSID","6a52e6037be6342014834c475b6c0637","/","http://www.taranmarlowjewelry.com/") 
?>

そして、私はこのエラーを受け取ります...

Warning: setcookie() expects parameter 3 to be long, string given in /home/content/19/9468119/html/wp-content/themes/twentyeleven/header.php on line 54

ショッピングカートは、最初に私のサイトにアクセスしたときには表示されませんが、更新しても表示されます。

テーマの下部にあるfunctions.phpファイルにCookieを手動で挿入することもできます...

function set_new_cookie() {
    setcookie("PHPSESSID", '6a52e6037be6342014834c475b6c0637', time()+3600);  /* expire in 1 hour */

}
add_action( 'init', 'set_new_cookie');

それはそれを設定します、それはどんなエラーも示しません、しかしそれは私の問題を解決しません。

テーマのfunctions.phpファイルでもこれを試しました...

 function set_new_cookie() {

    set_cookie('PHPSESSID', '6a52e6037be6342014834c475b6c0637');
    $_COOKIE['PHPSESSID'] = '6a52e6037be6342014834c475b6c0637';


}
add_action( 'init', 'set_new_cookie');

このエラーが発生しました

Fatal error: Call to undefined function set_cookie() in /home/content/19/9468119/html/wp-content/themes/twentyeleven/functions.php on line 5

これがショッピングカートのフォームです...

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

2 に答える 2

1

wp-ecommerce / wpsc-includes / songs_cart_functions.phpにアクセスし、この行を調整することで、ショッピングカートの問題を修正しました。

if ( isset( $cart ) ) {
echo wpsc_shopping_basket_internals( $cart, false, true );
}

これに

//if ( isset( $cart ) ) {
echo wpsc_shopping_basket_internals( $cart, false, true );
//}
于 2012-09-05T13:55:01.243 に答える
0

問題は、設定されているCookieにはありません。session_start()がそれを設定します。ただし、Cookie(セッションCookieを含む)がどのように機能するかを理解する必要があります。Cookieは、応答ヘッダーでサーバーからブラウザーに送信されます。そのため、ユーザーは、応答ソースの取得を開始するまで、ブラウザにCookieを設定しません。サイトへの次のリクエストで、ブラウザはリクエストとともにCookieを送信します。

したがって、問題は、最初のページの読み込み時に$ _COOKIEスーパーグローバルの何かに依存しようとしていることですが、そこにはありません(ユーザーが前回の訪問で設定した場合を除きます)。最初のページの読み込みで$_COOKIEを操作する必要がある場合は、次のようなことを行う必要があります。

setcookie('cookiename', 'cookie value');
$_COOKIE['cookiename'] = 'cookie value';
于 2012-08-14T18:31:53.950 に答える