2017-02-01 9 views
0

私は$ _COOKIE経由で設定された制限でmysqliクエリを作成しています。クッキーを無視するPHP

私はURLを使ってクエリを送信し、PHPはそれをCookieに変換して、ユーザーがURLに変更を見ないようにします。

PHPはクッキーを読み取り、クエリーを作成した後、クッキーをクリアして、ユーザーが他のクエリーに混乱しないようにします。

ホスティングプロバイダから別のホスティングプロバイダにサーバーを変更するまではうまくいきましたが、現在は機能していません。このメカニズムを既に構築しています。

私はおそらく、PHPのバージョンが問題であるか、またはいくつかのphp.iniの設定が元のサーバーの動作を異ならせているとは思っていますが、2番目のものはありません。悲しいことに、最初のプロジェクトでプロジェクトを終わらせることはできません。手がかりや提案はありますか? "admin.php" で、その後

// GET LIMIT, PLACE IT ON A COOKIE 
if (isset($_GET['l'])) { 
    $cookie_name = "limit"; 
    $cookie_value = $_GET['l']; 
    setcookie($cookie_name, $cookie_value, time() + (86400 * 1), "/bk"); // 86400 = 1 day 
    header('Location:admin.php'); 
    die; 
} 

は、ここでは、コードです

// GET COOKIE VALUE, DELETE COOKIE 
if(isset($_COOKIE['limit'])) { 
    $limit = $_COOKIE['limit']; 
    setcookie("limit", '', time() -3600, "/bk"); 
} else { 
    $limit = 0; 
} 

は、その後、私は私のクエリを実行します。

制限が10だった場合 - コードの2番目のブロックの最後で$ limitは10になりますが、この新しいサーバーでは$ limitが0になります。 2番目のIfが動作していれば、それはトリガーされますが、ifの最後まで0になります。

Help?

+0

あなたは '/ bk'パスにクッキーを制限しています。 2つのスクリプトがこのような経路でホストされていますか? –

+0

はいSr.彼らは両方です。 - ありがとうございました! –

+0

A:フォルダではなくドメインを使用する –

答えて

0

setcookie(..)行を変更しようとしましたか?

ドメインを指定するか、また、グローバルな1

を設定せずにクッキーを設定するように私は「admin.php」の冒頭にいくつかvar_dump($_COOKIE)を助けることができると思います。

+0

こんにちは@Hossam。スタックオーバーフローへようこそ。これは典型的なフォーラムではなく、答えの代わりにコメントとして最適です。 –

+0

ねえ、ありがとう。やった。 問題は、2番目のIFでは、設定されたクッキー命令が、変数が設定されているときよりも速くトリガーされているようです。 ダンプはどのように役立ちますか?もし私がクッキーの値をダンプすると、どうすればそれを読んで$限界の変数値を得るのでしょうか? –

+0

こんにちは@hd、残念ながら私はコメントをするのに十分な評判のポイントがありません。もし私が持っていたら、私は答えたのではなくコメントしただろう。 – Hossam

0

たぶん誰かがなぜ...

を説明することができ、私は「LIM」のための私のURL「L」に制限変数を変更し、それが違いを作りました。

クッキーは問題なく書き込まれ、読み込まれています。なぜか、URLがpage.php?l = 10を読んだとき、何とか$ _GETの注文はスキップされていたのです。

これをpage.php?lim = 10に変更しました。これは最初のサーバーと同じように動作します。

理由についてのご意見はありがとうございます。

関連する問題