2017-04-27 19 views
0

私はワードプレスサイトで実行したいコードを持っていますが、これはキャッシュされていないが、PHPコードが機能していないシンプルで普通のウェブサイトでうまくいきますあなたがいることを見ることができるように私は各ページのセッション変数0と1を変更する方法

<?php 
if(!isset($_SESSION)) 
    { 
session_start(); 
    } 
    ?> 


<?php 
if(isset($_SESSION['test'])) 
{ 
if($_SESSION['test'] == 0) 
{ 
    $_SESSION['test'] = 1; 
    ?> 
<!----place your Second ads here---> 




    <!----Second ads end here--> 
<?php 
} 
    else 
{ 
    $_SESSION['test'] = 0; 
    ?> 
<!----place your First ads here---> 




    <!----First ads end here--> 
    <?php 
} 
} 
else 
{ 
?> 
<!----place your first ads here this is default ads--> 

<!----First ads end here--> 
<?php 
$_SESSION['test'] = 0; 
} 
?> 

... WP-ロケットプラグインや自動最適化プラグインがインストールされているウェブサイトを、キャッシュされ、残念ながら私は、これらのプラグインを削除することはできません、私はJavaScriptを使用することはできませんも私を助けてくださいページを更新するたびに広告を交換したい

+0

'のsession_start()をこれを追加;'上に常にする必要がありますが、 'セッション'はサーバーサイドに格納されているので、キャッシュとは何の関係もありません。 –

+0

キャッシュシステム内で例外を作成する必要があります。キャッシングエンジンが提供されたHTMLを完全にキャッシュするのを見ると、広告はそれらのファイルに保存されます。どのキャッシングプラグインを使用していますか? – Thoby

+0

返信ありがとう..私はワードプレスサイトでwp-rocketまたは自動最適化されたプラグインを使用しています。 –

答えて

0

が使用この1

<?php 
    if(empty($_SESSION)) 
    { 
     session_start(); 
    } 
?> 
instead of 
<?php 
    if(!isset($_SESSION)) 
    { 
     session_start(); 
    } 
?>` 
0

それを試して、あなたのヘッダーで

<META HTTP-EQUIV="CACHE-CONTROL" CONTENT="NO-CACHE"> 
0
<?php 
session_start(); 
//set a variable to prevent 2 if statements from executing 
$x='0'; 
//for the first time the page is loaded 
    if(!isset($_SESSION['test'])) { 
     $_SESSION['test'] = '0' 
     } 

    if(($_SESSION['test'] == '1' && $x=='0'){ 
     //place second ads here 
     $_SESSION['test'] = '0'; 
     $x='1'; 
     } 
    if(($_SESSION['test'] == '0') && $x=='0'){ 
     //place first ads here 
     $_SESSION['test'] = '1'; 
     $x='1'; 
     } 
?> 

<?php 
    header("Cache-Control: no-store, no-cache, must-revalidate, max-age=0"); 
    header("Cache-Control: post-check=0, pre-check=0", false); 
    header("Pragma: no-cache"); 
    ?> 
関連する問題