2011-07-17 15 views
0

私はここでいくつかの創造的な方向を必要とするかもしれない解決する興味深い問題があります。私はどの値がWebブラウザを通過するかに応じてさまざまな異なるページ結果を持つPHPページを持っています。例:PHPフォームで渡された値のワンタイムオファーを作成するには?

http://examplesite.com/landingpage.php?id=one 
http://examplesite.com/landingpage.php?id=two 
http://examplesite.com/landingpage.php?id=three 

現在の設定では、これらのページのそれぞれには、サイト訪問者に異なるオファーがあります。ここにキャッチがあります...
私はページを訪問者がセッションごとに1回だけ利用できるようにしたいと思います。 それは十分に簡単だと思われるが、私はそれを正しく動作させることはできない。私はワンタイム・オファー・スクリプトを使ってクッキーを送信しました。クッキーを送信したユーザーはすでにクーポンを見ていれば別のページにリダイレクトされますが、この状況では機能しませんでした。 1つのランディングページでうまく動作しますが、ルートPHPページに基づいています。したがって、他の値が渡された場合は、オファーを見たことがないユーザーにもルーティングされます。例えば

、サイト訪問者がに行く場合:

http://examplesite.com/landingpage.php?id=one 

彼らは、ワンタイムプランが表示されます。その後、彼らが行く場合:

http://examplesite.com/landingpage.php?id=two 

彼らは彼らが持っていなかった '2つのためのオファーを見たかのように再ルーティングされます。

この問題が当てはまることを願っています。さらに詳しい説明が必要な場合は、尋ねてください。私の問題を辿ってくれてありがとう、そしてあなたが正確な答えを持っていないが、正しい方向に私を指すことができるなら、それは非常に高く評価されるだろう。

+0

こんにちは、あなたの方法ですか?あなたは各訪問者を各ページに永遠に一度訪れたいですか? –

答えて

0

landingpage.phpのコードを見ることなく、私はあなたがクッキーの存在をチェックするときにidにファクタリングしていないと推測することができます。 CookieはIDごとに設定する必要があります。それ以外の場合、表示される動作は次のようになります。表示id=oneはCookieを設定し、ユーザーがid=twoを表示すると、landingpage.phpはCookieが存在していることを認識し、ユーザーをリダイレクトします。

簡潔にしたい場合は、idの文字列をパイプやカンマなどの文字で区切ってください(viewed_ids=one,two,three)。次に、これを解析して現在のページのIDが表示されているIDのリストにあるかどうかを確認し、そうであればユーザーをリダイレクトします。そうでない場合は追加します。

このセッションの状態を維持することは、セッションごとに発生するようにリダイレクトする必要があると述べているので、ユーザーが簡単にセッションを維持できることに気付いたことでしょう。

+0

入力いただきありがとうございます。私は、このセットアップのための一連のクッキーを設定し、それがどのようになっているかを知ってもらいます。 – Presto

+0

驚くばかり!私はそれをあなたの提案と共に働かせました。ありがとう:) – Presto

関連する問題