“戻るボタンブルースの硬化”
質問
あなたは非常に価値があると思うが、きちんと説明されていないチュートリアルを見つけましたか?それが私のジレンマです。 このチュートリアルには何らかの価値があることを知っていますが、それを取得することはできません。
- 各関数はどこで呼び出すのですか?
- どの関数を呼び出すべきか 最初と次、そしてどれ 三番目?
- アプリケーションのすべてのファイルですべての関数が呼び出されますか?
- 「Back Button Blues」を改善するより良い方法を知っている人はいますか?
これは、記事の著者を含む良い会話を刺激するかどうか疑問に思っています。私が特に興味を持っているのは、戻るボタンが押されたときにデータベースへのフォームの重複エントリを防ぐために戻るボタンを制御することです。基本的に、アプリケーションのスクリプトの実行中に次の3つの関数を呼び出して、戻るボタンを制御します。関数を正確に呼び出す順序(上記の質問を参照)は、チュートリアルから明らかではありません。
すべての前方移動は、 scriptNext関数を使用します。これは 現在のスクリプト内で呼び出されます 新しいスクリプトをアクティブにするために。
function scriptNext($script_id) // proceed forwards to a new script { if (empty($script_id)) { trigger_error("script id is not defined", E_USER_ERROR); } // if // get list of screens used in this session $page_stack =
あなたは非常に価値があると思うが、きちんと説明されていないチュートリアルを見つけましたか?それが私のジレンマです。 このチュートリアルには何らかの価値があることを知っていますが、それを取得することはできません。
- 各関数はどこで呼び出すのですか?
- どの関数を呼び出すべきか 最初と次、そしてどれ 三番目?
- アプリケーションのすべてのファイルですべての関数が呼び出されますか?
- 「Back Button Blues」を改善するより良い方法を知っている人はいますか?
これは、記事の著者を含む良い会話を刺激するかどうか疑問に思っています。私が特に興味を持っているのは、戻るボタンが押されたときにデータベースへのフォームの重複エントリを防ぐために戻るボタンを制御することです。基本的に、アプリケーションのスクリプトの実行中に次の3つの関数を呼び出して、戻るボタンを制御します。関数を正確に呼び出す順序(上記の質問を参照)は、チュートリアルから明らかではありません。
すべての前方移動は、 scriptNext関数を使用します。これは 現在のスクリプト内で呼び出されます 新しいスクリプトをアクティブにするために。
function scriptPrevious() // go back to the previous script (as defined in PAGE_STACK) { // get id of current script $script_id =
あなたは非常に価値があると思うが、きちんと説明されていないチュートリアルを見つけましたか?それが私のジレンマです。 このチュートリアルには何らかの価値があることを知っていますが、それを取得することはできません。
- 各関数はどこで呼び出すのですか?
- どの関数を呼び出すべきか 最初と次、そしてどれ 三番目?
- アプリケーションのすべてのファイルですべての関数が呼び出されますか?
- 「Back Button Blues」を改善するより良い方法を知っている人はいますか?
これは、記事の著者を含む良い会話を刺激するかどうか疑問に思っています。私が特に興味を持っているのは、戻るボタンが押されたときにデータベースへのフォームの重複エントリを防ぐために戻るボタンを制御することです。基本的に、アプリケーションのスクリプトの実行中に次の3つの関数を呼び出して、戻るボタンを制御します。関数を正確に呼び出す順序(上記の質問を参照)は、チュートリアルから明らかではありません。
すべての前方移動は、 scriptNext関数を使用します。これは 現在のスクリプト内で呼び出されます 新しいスクリプトをアクティブにするために。
function scriptNext($script_id) // proceed forwards to a new script { if (empty($script_id)) { trigger_error("script id is not defined", E_USER_ERROR); } // if // get list of screens used in this session $page_stack =
あなたは非常に価値があると思うが、きちんと説明されていないチュートリアルを見つけましたか?それが私のジレンマです。 このチュートリアルには何らかの価値があることを知っていますが、それを取得することはできません。
- 各関数はどこで呼び出すのですか?
- どの関数を呼び出すべきか 最初と次、そしてどれ 三番目?
- アプリケーションのすべてのファイルですべての関数が呼び出されますか?
- 「Back Button Blues」を改善するより良い方法を知っている人はいますか?
これは、記事の著者を含む良い会話を刺激するかどうか疑問に思っています。私が特に興味を持っているのは、戻るボタンが押されたときにデータベースへのフォームの重複エントリを防ぐために戻るボタンを制御することです。基本的に、アプリケーションのスクリプトの実行中に次の3つの関数を呼び出して、戻るボタンを制御します。関数を正確に呼び出す順序(上記の質問を参照)は、チュートリアルから明らかではありません。
すべての前方移動は、 scriptNext関数を使用します。これは 現在のスクリプト内で呼び出されます 新しいスクリプトをアクティブにするために。
function initSession() // initialise session data { // get program stack if (isset(
あなたは非常に価値があると思うが、きちんと説明されていないチュートリアルを見つけましたか?それが私のジレンマです。 このチュートリアルには何らかの価値があることを知っていますが、それを取得することはできません。
- 各関数はどこで呼び出すのですか?
- どの関数を呼び出すべきか 最初と次、そしてどれ 三番目?
- アプリケーションのすべてのファイルですべての関数が呼び出されますか?
- 「Back Button Blues」を改善するより良い方法を知っている人はいますか?
これは、記事の著者を含む良い会話を刺激するかどうか疑問に思っています。私が特に興味を持っているのは、戻るボタンが押されたときにデータベースへのフォームの重複エントリを防ぐために戻るボタンを制御することです。基本的に、アプリケーションのスクリプトの実行中に次の3つの関数を呼び出して、戻るボタンを制御します。関数を正確に呼び出す順序(上記の質問を参照)は、チュートリアルから明らかではありません。
すべての前方移動は、 scriptNext関数を使用します。これは 現在のスクリプト内で呼び出されます 新しいスクリプトをアクティブにするために。
function scriptNext($script_id) // proceed forwards to a new script { if (empty($script_id)) { trigger_error("script id is not defined", E_USER_ERROR); } // if // get list of screens used in this session $page_stack =
あなたは非常に価値があると思うが、きちんと説明されていないチュートリアルを見つけましたか?それが私のジレンマです。 このチュートリアルには何らかの価値があることを知っていますが、それを取得することはできません。
- 各関数はどこで呼び出すのですか?
- どの関数を呼び出すべきか 最初と次、そしてどれ 三番目?
- アプリケーションのすべてのファイルですべての関数が呼び出されますか?
- 「Back Button Blues」を改善するより良い方法を知っている人はいますか?
これは、記事の著者を含む良い会話を刺激するかどうか疑問に思っています。私が特に興味を持っているのは、戻るボタンが押されたときにデータベースへのフォームの重複エントリを防ぐために戻るボタンを制御することです。基本的に、アプリケーションのスクリプトの実行中に次の3つの関数を呼び出して、戻るボタンを制御します。関数を正確に呼び出す順序(上記の質問を参照)は、チュートリアルから明らかではありません。
すべての前方移動は、 scriptNext関数を使用します。これは 現在のスクリプト内で呼び出されます 新しいスクリプトをアクティブにするために。
function scriptPrevious() // go back to the previous script (as defined in PAGE_STACK) { // get id of current script $script_id =
あなたは非常に価値があると思うが、きちんと説明されていないチュートリアルを見つけましたか?それが私のジレンマです。 このチュートリアルには何らかの価値があることを知っていますが、それを取得することはできません。
- 各関数はどこで呼び出すのですか?
- どの関数を呼び出すべきか 最初と次、そしてどれ 三番目?
- アプリケーションのすべてのファイルですべての関数が呼び出されますか?
- 「Back Button Blues」を改善するより良い方法を知っている人はいますか?
これは、記事の著者を含む良い会話を刺激するかどうか疑問に思っています。私が特に興味を持っているのは、戻るボタンが押されたときにデータベースへのフォームの重複エントリを防ぐために戻るボタンを制御することです。基本的に、アプリケーションのスクリプトの実行中に次の3つの関数を呼び出して、戻るボタンを制御します。関数を正確に呼び出す順序(上記の質問を参照)は、チュートリアルから明らかではありません。
SERVER['PHP_SELF']; // get list of screens used in this session $page_stack =すべての前方移動は、 scriptNext関数を使用します。これは 現在のスクリプト内で呼び出されます 新しいスクリプトをアクティブにするために。
function scriptNext($script_id) // proceed forwards to a new script { if (empty($script_id)) { trigger_error("script id is not defined", E_USER_ERROR); } // if // get list of screens used in this session $page_stack =
あなたは非常に価値があると思うが、きちんと説明されていないチュートリアルを見つけましたか?それが私のジレンマです。 このチュートリアルには何らかの価値があることを知っていますが、それを取得することはできません。
- 各関数はどこで呼び出すのですか?
- どの関数を呼び出すべきか 最初と次、そしてどれ 三番目?
- アプリケーションのすべてのファイルですべての関数が呼び出されますか?
- 「Back Button Blues」を改善するより良い方法を知っている人はいますか?
これは、記事の著者を含む良い会話を刺激するかどうか疑問に思っています。私が特に興味を持っているのは、戻るボタンが押されたときにデータベースへのフォームの重複エントリを防ぐために戻るボタンを制御することです。基本的に、アプリケーションのスクリプトの実行中に次の3つの関数を呼び出して、戻るボタンを制御します。関数を正確に呼び出す順序(上記の質問を参照)は、チュートリアルから明らかではありません。
SESSION['page_stack']; if (in_array($script_id, $page_stack)) { // remove this item and any following items from the stack array do { $last = array_pop($page_stack); } while ($last != $script_id); } // if // add next script to end of array and update session data $page_stack[] = $script_id;すべての前方移動は、 scriptNext関数を使用します。これは 現在のスクリプト内で呼び出されます 新しいスクリプトをアクティブにするために。
<*>スクリプトが終了すると 処理を終了するには、myを呼び出します。 scriptPrevious関数。この意志 現在のスクリプトを最後からドロップします スタック配列の 配列内の前のスクリプト。
<*>スクリプトがアクティブになるたびに、 scriptNextのいずれかを使用できます またはscriptPrevious関数、または の[戻る]ボタンのため ブラウザ、次を呼び出します それがであることを確認する機能 に応じた現在のスクリプト プログラムスタックの内容とテイク そうでない場合は適切なアクション。
<*>実行されるアクションは、 現在のスクリプトは プログラムスタックかどうか。 3つあります 可能性:
- 現在のスクリプトは$ page_stack配列にありません。その場合、 続行できません。代わりに にあるスクリプトに置き換えられます 配列の終わり。
- 現在のスクリプトは $ page_stack配列ですが、そうではありません 最後のエントリ。この場合、すべて 配列内の次のエントリは 削除されました。
- 現在のスクリプトは最後のエントリです $ page_stack配列内。これは 予想される状況。すべて飲む ラウンド!
あなたは非常に価値があると思うが、きちんと説明されていないチュートリアルを見つけましたか?それが私のジレンマです。 このチュートリアルには何らかの価値があることを知っていますが、それを取得することはできません。
- 各関数はどこで呼び出すのですか?
- どの関数を呼び出すべきか 最初と次、そしてどれ 三番目?
- アプリケーションのすべてのファイルですべての関数が呼び出されますか?
- 「Back Button Blues」を改善するより良い方法を知っている人はいますか?
これは、記事の著者を含む良い会話を刺激するかどうか疑問に思っています。私が特に興味を持っているのは、戻るボタンが押されたときにデータベースへのフォームの重複エントリを防ぐために戻るボタンを制御することです。基本的に、アプリケーションのスクリプトの実行中に次の3つの関数を呼び出して、戻るボタンを制御します。関数を正確に呼び出す順序(上記の質問を参照)は、チュートリアルから明らかではありません。
SESSION['page_stack'] = $page_stack; // now pass control to the designated script $location = 'http://' .すべての前方移動は、 scriptNext関数を使用します。これは 現在のスクリプト内で呼び出されます 新しいスクリプトをアクティブにするために。
<*>スクリプトが終了すると 処理を終了するには、myを呼び出します。 scriptPrevious関数。この意志 現在のスクリプトを最後からドロップします スタック配列の 配列内の前のスクリプト。
<*>スクリプトがアクティブになるたびに、 scriptNextのいずれかを使用できます またはscriptPrevious関数、または の[戻る]ボタンのため ブラウザ、次を呼び出します それがであることを確認する機能 に応じた現在のスクリプト プログラムスタックの内容とテイク そうでない場合は適切なアクション。
<*>実行されるアクションは、 現在のスクリプトは プログラムスタックかどうか。 3つあります 可能性:
- 現在のスクリプトは$ page_stack配列にありません。その場合、 続行できません。代わりに にあるスクリプトに置き換えられます 配列の終わり。
- 現在のスクリプトは $ page_stack配列ですが、そうではありません 最後のエントリ。この場合、すべて 配列内の次のエントリは 削除されました。
- 現在のスクリプトは最後のエントリです $ page_stack配列内。これは 予想される状況。すべて飲む ラウンド!
あなたは非常に価値があると思うが、きちんと説明されていないチュートリアルを見つけましたか?それが私のジレンマです。 このチュートリアルには何らかの価値があることを知っていますが、それを取得することはできません。
- 各関数はどこで呼び出すのですか?
- どの関数を呼び出すべきか 最初と次、そしてどれ 三番目?
- アプリケーションのすべてのファイルですべての関数が呼び出されますか?
- 「Back Button Blues」を改善するより良い方法を知っている人はいますか?
これは、記事の著者を含む良い会話を刺激するかどうか疑問に思っています。私が特に興味を持っているのは、戻るボタンが押されたときにデータベースへのフォームの重複エントリを防ぐために戻るボタンを制御することです。基本的に、アプリケーションのスクリプトの実行中に次の3つの関数を呼び出して、戻るボタンを制御します。関数を正確に呼び出す順序(上記の質問を参照)は、チュートリアルから明らかではありません。
SERVER['HTTP_HOST'] .$script_id; header('Location: ' .$location); exit; } // scriptNextすべての前方移動は、 scriptNext関数を使用します。これは 現在のスクリプト内で呼び出されます 新しいスクリプトをアクティブにするために。
<*>スクリプトが終了すると 処理を終了するには、myを呼び出します。 scriptPrevious関数。この意志 現在のスクリプトを最後からドロップします スタック配列の 配列内の前のスクリプト。
<*>スクリプトがアクティブになるたびに、 scriptNextのいずれかを使用できます またはscriptPrevious関数、または の[戻る]ボタンのため ブラウザ、次を呼び出します それがであることを確認する機能 に応じた現在のスクリプト プログラムスタックの内容とテイク そうでない場合は適切なアクション。
<*>実行されるアクションは、 現在のスクリプトは プログラムスタックかどうか。 3つあります 可能性:
- 現在のスクリプトは$ page_stack配列にありません。その場合、 続行できません。代わりに にあるスクリプトに置き換えられます 配列の終わり。
- 現在のスクリプトは $ page_stack配列ですが、そうではありません 最後のエントリ。この場合、すべて 配列内の次のエントリは 削除されました。
- 現在のスクリプトは最後のエントリです $ page_stack配列内。これは 予想される状況。すべて飲む ラウンド!
スクリプトが終了すると 処理を終了するには、myを呼び出します。 scriptPrevious関数。この意志 現在のスクリプトを最後からドロップします スタック配列の 配列内の前のスクリプト。
<*>スクリプトがアクティブになるたびに、 scriptNextのいずれかを使用できます またはscriptPrevious関数、または の[戻る]ボタンのため ブラウザ、次を呼び出します それがであることを確認する機能 に応じた現在のスクリプト プログラムスタックの内容とテイク そうでない場合は適切なアクション。
<*>実行されるアクションは、 現在のスクリプトは プログラムスタックかどうか。 3つあります 可能性:
- 現在のスクリプトは$ page_stack配列にありません。その場合、 続行できません。代わりに にあるスクリプトに置き換えられます 配列の終わり。
- 現在のスクリプトは $ page_stack配列ですが、そうではありません 最後のエントリ。この場合、すべて 配列内の次のエントリは 削除されました。
- 現在のスクリプトは最後のエントリです $ page_stack配列内。これは 予想される状況。すべて飲む ラウンド!
あなたは非常に価値があると思うが、きちんと説明されていないチュートリアルを見つけましたか?それが私のジレンマです。 このチュートリアルには何らかの価値があることを知っていますが、それを取得することはできません。
- 各関数はどこで呼び出すのですか?
- どの関数を呼び出すべきか 最初と次、そしてどれ 三番目?
- アプリケーションのすべてのファイルですべての関数が呼び出されますか?
- 「Back Button Blues」を改善するより良い方法を知っている人はいますか?
これは、記事の著者を含む良い会話を刺激するかどうか疑問に思っています。私が特に興味を持っているのは、戻るボタンが押されたときにデータベースへのフォームの重複エントリを防ぐために戻るボタンを制御することです。基本的に、アプリケーションのスクリプトの実行中に次の3つの関数を呼び出して、戻るボタンを制御します。関数を正確に呼び出す順序(上記の質問を参照)は、チュートリアルから明らかではありません。
SESSION['page_stack']; if (in_array($script_id, $page_stack)) { // remove this item and any following items from the stack array do { $last = array_pop($page_stack); } while ($last != $script_id); // update session dataすべての前方移動は、 scriptNext関数を使用します。これは 現在のスクリプト内で呼び出されます 新しいスクリプトをアクティブにするために。
function scriptNext($script_id) // proceed forwards to a new script { if (empty($script_id)) { trigger_error("script id is not defined", E_USER_ERROR); } // if // get list of screens used in this session $page_stack =
あなたは非常に価値があると思うが、きちんと説明されていないチュートリアルを見つけましたか?それが私のジレンマです。 このチュートリアルには何らかの価値があることを知っていますが、それを取得することはできません。
- 各関数はどこで呼び出すのですか?
- どの関数を呼び出すべきか 最初と次、そしてどれ 三番目?
- アプリケーションのすべてのファイルですべての関数が呼び出されますか?
- 「Back Button Blues」を改善するより良い方法を知っている人はいますか?
これは、記事の著者を含む良い会話を刺激するかどうか疑問に思っています。私が特に興味を持っているのは、戻るボタンが押されたときにデータベースへのフォームの重複エントリを防ぐために戻るボタンを制御することです。基本的に、アプリケーションのスクリプトの実行中に次の3つの関数を呼び出して、戻るボタンを制御します。関数を正確に呼び出す順序(上記の質問を参照)は、チュートリアルから明らかではありません。
SESSION['page_stack']; if (in_array($script_id, $page_stack)) { // remove this item and any following items from the stack array do { $last = array_pop($page_stack); } while ($last != $script_id); } // if // add next script to end of array and update session data $page_stack[] = $script_id;すべての前方移動は、 scriptNext関数を使用します。これは 現在のスクリプト内で呼び出されます 新しいスクリプトをアクティブにするために。
<*>スクリプトが終了すると 処理を終了するには、myを呼び出します。 scriptPrevious関数。この意志 現在のスクリプトを最後からドロップします スタック配列の 配列内の前のスクリプト。
<*>スクリプトがアクティブになるたびに、 scriptNextのいずれかを使用できます またはscriptPrevious関数、または の[戻る]ボタンのため ブラウザ、次を呼び出します それがであることを確認する機能 に応じた現在のスクリプト プログラムスタックの内容とテイク そうでない場合は適切なアクション。
<*>実行されるアクションは、 現在のスクリプトは プログラムスタックかどうか。 3つあります 可能性:
- 現在のスクリプトは$ page_stack配列にありません。その場合、 続行できません。代わりに にあるスクリプトに置き換えられます 配列の終わり。
- 現在のスクリプトは $ page_stack配列ですが、そうではありません 最後のエントリ。この場合、すべて 配列内の次のエントリは 削除されました。
- 現在のスクリプトは最後のエントリです $ page_stack配列内。これは 予想される状況。すべて飲む ラウンド!
あなたは非常に価値があると思うが、きちんと説明されていないチュートリアルを見つけましたか?それが私のジレンマです。 このチュートリアルには何らかの価値があることを知っていますが、それを取得することはできません。
- 各関数はどこで呼び出すのですか?
- どの関数を呼び出すべきか 最初と次、そしてどれ 三番目?
- アプリケーションのすべてのファイルですべての関数が呼び出されますか?
- 「Back Button Blues」を改善するより良い方法を知っている人はいますか?
これは、記事の著者を含む良い会話を刺激するかどうか疑問に思っています。私が特に興味を持っているのは、戻るボタンが押されたときにデータベースへのフォームの重複エントリを防ぐために戻るボタンを制御することです。基本的に、アプリケーションのスクリプトの実行中に次の3つの関数を呼び出して、戻るボタンを制御します。関数を正確に呼び出す順序(上記の質問を参照)は、チュートリアルから明らかではありません。
SESSION['page_stack'] = $page_stack; // now pass control to the designated script $location = 'http://' .すべての前方移動は、 scriptNext関数を使用します。これは 現在のスクリプト内で呼び出されます 新しいスクリプトをアクティブにするために。
<*>スクリプトが終了すると 処理を終了するには、myを呼び出します。 scriptPrevious関数。この意志 現在のスクリプトを最後からドロップします スタック配列の 配列内の前のスクリプト。
<*>スクリプトがアクティブになるたびに、 scriptNextのいずれかを使用できます またはscriptPrevious関数、または の[戻る]ボタンのため ブラウザ、次を呼び出します それがであることを確認する機能 に応じた現在のスクリプト プログラムスタックの内容とテイク そうでない場合は適切なアクション。
<*>実行されるアクションは、 現在のスクリプトは プログラムスタックかどうか。 3つあります 可能性:
- 現在のスクリプトは$ page_stack配列にありません。その場合、 続行できません。代わりに にあるスクリプトに置き換えられます 配列の終わり。
- 現在のスクリプトは $ page_stack配列ですが、そうではありません 最後のエントリ。この場合、すべて 配列内の次のエントリは 削除されました。
- 現在のスクリプトは最後のエントリです $ page_stack配列内。これは 予想される状況。すべて飲む ラウンド!
あなたは非常に価値があると思うが、きちんと説明されていないチュートリアルを見つけましたか?それが私のジレンマです。 このチュートリアルには何らかの価値があることを知っていますが、それを取得することはできません。
- 各関数はどこで呼び出すのですか?
- どの関数を呼び出すべきか 最初と次、そしてどれ 三番目?
- アプリケーションのすべてのファイルですべての関数が呼び出されますか?
- 「Back Button Blues」を改善するより良い方法を知っている人はいますか?
これは、記事の著者を含む良い会話を刺激するかどうか疑問に思っています。私が特に興味を持っているのは、戻るボタンが押されたときにデータベースへのフォームの重複エントリを防ぐために戻るボタンを制御することです。基本的に、アプリケーションのスクリプトの実行中に次の3つの関数を呼び出して、戻るボタンを制御します。関数を正確に呼び出す順序(上記の質問を参照)は、チュートリアルから明らかではありません。
SERVER['HTTP_HOST'] .$script_id; header('Location: ' .$location); exit; } // scriptNextすべての前方移動は、 scriptNext関数を使用します。これは 現在のスクリプト内で呼び出されます 新しいスクリプトをアクティブにするために。
<*>スクリプトが終了すると 処理を終了するには、myを呼び出します。 scriptPrevious関数。この意志 現在のスクリプトを最後からドロップします スタック配列の 配列内の前のスクリプト。
<*>スクリプトがアクティブになるたびに、 scriptNextのいずれかを使用できます またはscriptPrevious関数、または の[戻る]ボタンのため ブラウザ、次を呼び出します それがであることを確認する機能 に応じた現在のスクリプト プログラムスタックの内容とテイク そうでない場合は適切なアクション。
<*>実行されるアクションは、 現在のスクリプトは プログラムスタックかどうか。 3つあります 可能性:
- 現在のスクリプトは$ page_stack配列にありません。その場合、 続行できません。代わりに にあるスクリプトに置き換えられます 配列の終わり。
- 現在のスクリプトは $ page_stack配列ですが、そうではありません 最後のエントリ。この場合、すべて 配列内の次のエントリは 削除されました。
- 現在のスクリプトは最後のエントリです $ page_stack配列内。これは 予想される状況。すべて飲む ラウンド!
スクリプトが終了すると 処理を終了するには、myを呼び出します。 scriptPrevious関数。この意志 現在のスクリプトを最後からドロップします スタック配列の 配列内の前のスクリプト。
<*>スクリプトがアクティブになるたびに、 scriptNextのいずれかを使用できます またはscriptPrevious関数、または の[戻る]ボタンのため ブラウザ、次を呼び出します それがであることを確認する機能 に応じた現在のスクリプト プログラムスタックの内容とテイク そうでない場合は適切なアクション。
<*>実行されるアクションは、 現在のスクリプトは プログラムスタックかどうか。 3つあります 可能性:
- 現在のスクリプトは$ page_stack配列にありません。その場合、 続行できません。代わりに にあるスクリプトに置き換えられます 配列の終わり。
- 現在のスクリプトは $ page_stack配列ですが、そうではありません 最後のエントリ。この場合、すべて 配列内の次のエントリは 削除されました。
- 現在のスクリプトは最後のエントリです $ page_stack配列内。これは 予想される状況。すべて飲む ラウンド!
あなたは非常に価値があると思うが、きちんと説明されていないチュートリアルを見つけましたか?それが私のジレンマです。 このチュートリアルには何らかの価値があることを知っていますが、それを取得することはできません。
- 各関数はどこで呼び出すのですか?
- どの関数を呼び出すべきか 最初と次、そしてどれ 三番目?
- アプリケーションのすべてのファイルですべての関数が呼び出されますか?
- 「Back Button Blues」を改善するより良い方法を知っている人はいますか?
これは、記事の著者を含む良い会話を刺激するかどうか疑問に思っています。私が特に興味を持っているのは、戻るボタンが押されたときにデータベースへのフォームの重複エントリを防ぐために戻るボタンを制御することです。基本的に、アプリケーションのスクリプトの実行中に次の3つの関数を呼び出して、戻るボタンを制御します。関数を正確に呼び出す順序(上記の質問を参照)は、チュートリアルから明らかではありません。
SESSION['page_stack'] = $page_stack; } // if if (count($page_stack) > 0) { $previous = array_pop($page_stack); // reactivate previous script $location = 'http://' .すべての前方移動は、 scriptNext関数を使用します。これは 現在のスクリプト内で呼び出されます 新しいスクリプトをアクティブにするために。
function scriptNext($script_id) // proceed forwards to a new script { if (empty($script_id)) { trigger_error("script id is not defined", E_USER_ERROR); } // if // get list of screens used in this session $page_stack =
あなたは非常に価値があると思うが、きちんと説明されていないチュートリアルを見つけましたか?それが私のジレンマです。 このチュートリアルには何らかの価値があることを知っていますが、それを取得することはできません。
- 各関数はどこで呼び出すのですか?
- どの関数を呼び出すべきか 最初と次、そしてどれ 三番目?
- アプリケーションのすべてのファイルですべての関数が呼び出されますか?
- 「Back Button Blues」を改善するより良い方法を知っている人はいますか?
これは、記事の著者を含む良い会話を刺激するかどうか疑問に思っています。私が特に興味を持っているのは、戻るボタンが押されたときにデータベースへのフォームの重複エントリを防ぐために戻るボタンを制御することです。基本的に、アプリケーションのスクリプトの実行中に次の3つの関数を呼び出して、戻るボタンを制御します。関数を正確に呼び出す順序(上記の質問を参照)は、チュートリアルから明らかではありません。
SESSION['page_stack']; if (in_array($script_id, $page_stack)) { // remove this item and any following items from the stack array do { $last = array_pop($page_stack); } while ($last != $script_id); } // if // add next script to end of array and update session data $page_stack[] = $script_id;すべての前方移動は、 scriptNext関数を使用します。これは 現在のスクリプト内で呼び出されます 新しいスクリプトをアクティブにするために。
<*>スクリプトが終了すると 処理を終了するには、myを呼び出します。 scriptPrevious関数。この意志 現在のスクリプトを最後からドロップします スタック配列の 配列内の前のスクリプト。
<*>スクリプトがアクティブになるたびに、 scriptNextのいずれかを使用できます またはscriptPrevious関数、または の[戻る]ボタンのため ブラウザ、次を呼び出します それがであることを確認する機能 に応じた現在のスクリプト プログラムスタックの内容とテイク そうでない場合は適切なアクション。
<*>実行されるアクションは、 現在のスクリプトは プログラムスタックかどうか。 3つあります 可能性:
- 現在のスクリプトは$ page_stack配列にありません。その場合、 続行できません。代わりに にあるスクリプトに置き換えられます 配列の終わり。
- 現在のスクリプトは $ page_stack配列ですが、そうではありません 最後のエントリ。この場合、すべて 配列内の次のエントリは 削除されました。
- 現在のスクリプトは最後のエントリです $ page_stack配列内。これは 予想される状況。すべて飲む ラウンド!
あなたは非常に価値があると思うが、きちんと説明されていないチュートリアルを見つけましたか?それが私のジレンマです。 このチュートリアルには何らかの価値があることを知っていますが、それを取得することはできません。
- 各関数はどこで呼び出すのですか?
- どの関数を呼び出すべきか 最初と次、そしてどれ 三番目?
- アプリケーションのすべてのファイルですべての関数が呼び出されますか?
- 「Back Button Blues」を改善するより良い方法を知っている人はいますか?
これは、記事の著者を含む良い会話を刺激するかどうか疑問に思っています。私が特に興味を持っているのは、戻るボタンが押されたときにデータベースへのフォームの重複エントリを防ぐために戻るボタンを制御することです。基本的に、アプリケーションのスクリプトの実行中に次の3つの関数を呼び出して、戻るボタンを制御します。関数を正確に呼び出す順序(上記の質問を参照)は、チュートリアルから明らかではありません。
SESSION['page_stack'] = $page_stack; // now pass control to the designated script $location = 'http://' .すべての前方移動は、 scriptNext関数を使用します。これは 現在のスクリプト内で呼び出されます 新しいスクリプトをアクティブにするために。
<*>スクリプトが終了すると 処理を終了するには、myを呼び出します。 scriptPrevious関数。この意志 現在のスクリプトを最後からドロップします スタック配列の 配列内の前のスクリプト。
<*>スクリプトがアクティブになるたびに、 scriptNextのいずれかを使用できます またはscriptPrevious関数、または の[戻る]ボタンのため ブラウザ、次を呼び出します それがであることを確認する機能 に応じた現在のスクリプト プログラムスタックの内容とテイク そうでない場合は適切なアクション。
<*>実行されるアクションは、 現在のスクリプトは プログラムスタックかどうか。 3つあります 可能性:
- 現在のスクリプトは$ page_stack配列にありません。その場合、 続行できません。代わりに にあるスクリプトに置き換えられます 配列の終わり。
- 現在のスクリプトは $ page_stack配列ですが、そうではありません 最後のエントリ。この場合、すべて 配列内の次のエントリは 削除されました。
- 現在のスクリプトは最後のエントリです $ page_stack配列内。これは 予想される状況。すべて飲む ラウンド!
あなたは非常に価値があると思うが、きちんと説明されていないチュートリアルを見つけましたか?それが私のジレンマです。 このチュートリアルには何らかの価値があることを知っていますが、それを取得することはできません。
- 各関数はどこで呼び出すのですか?
- どの関数を呼び出すべきか 最初と次、そしてどれ 三番目?
- アプリケーションのすべてのファイルですべての関数が呼び出されますか?
- 「Back Button Blues」を改善するより良い方法を知っている人はいますか?
これは、記事の著者を含む良い会話を刺激するかどうか疑問に思っています。私が特に興味を持っているのは、戻るボタンが押されたときにデータベースへのフォームの重複エントリを防ぐために戻るボタンを制御することです。基本的に、アプリケーションのスクリプトの実行中に次の3つの関数を呼び出して、戻るボタンを制御します。関数を正確に呼び出す順序(上記の質問を参照)は、チュートリアルから明らかではありません。
SERVER['HTTP_HOST'] .$script_id; header('Location: ' .$location); exit; } // scriptNextすべての前方移動は、 scriptNext関数を使用します。これは 現在のスクリプト内で呼び出されます 新しいスクリプトをアクティブにするために。
<*>スクリプトが終了すると 処理を終了するには、myを呼び出します。 scriptPrevious関数。この意志 現在のスクリプトを最後からドロップします スタック配列の 配列内の前のスクリプト。
<*>スクリプトがアクティブになるたびに、 scriptNextのいずれかを使用できます またはscriptPrevious関数、または の[戻る]ボタンのため ブラウザ、次を呼び出します それがであることを確認する機能 に応じた現在のスクリプト プログラムスタックの内容とテイク そうでない場合は適切なアクション。
<*>実行されるアクションは、 現在のスクリプトは プログラムスタックかどうか。 3つあります 可能性:
- 現在のスクリプトは$ page_stack配列にありません。その場合、 続行できません。代わりに にあるスクリプトに置き換えられます 配列の終わり。
- 現在のスクリプトは $ page_stack配列ですが、そうではありません 最後のエントリ。この場合、すべて 配列内の次のエントリは 削除されました。
- 現在のスクリプトは最後のエントリです $ page_stack配列内。これは 予想される状況。すべて飲む ラウンド!
スクリプトが終了すると 処理を終了するには、myを呼び出します。 scriptPrevious関数。この意志 現在のスクリプトを最後からドロップします スタック配列の 配列内の前のスクリプト。
<*>スクリプトがアクティブになるたびに、 scriptNextのいずれかを使用できます またはscriptPrevious関数、または の[戻る]ボタンのため ブラウザ、次を呼び出します それがであることを確認する機能 に応じた現在のスクリプト プログラムスタックの内容とテイク そうでない場合は適切なアクション。
<*>実行されるアクションは、 現在のスクリプトは プログラムスタックかどうか。 3つあります 可能性:
- 現在のスクリプトは$ page_stack配列にありません。その場合、 続行できません。代わりに にあるスクリプトに置き換えられます 配列の終わり。
- 現在のスクリプトは $ page_stack配列ですが、そうではありません 最後のエントリ。この場合、すべて 配列内の次のエントリは 削除されました。
- 現在のスクリプトは最後のエントリです $ page_stack配列内。これは 予想される状況。すべて飲む ラウンド!
あなたは非常に価値があると思うが、きちんと説明されていないチュートリアルを見つけましたか?それが私のジレンマです。 このチュートリアルには何らかの価値があることを知っていますが、それを取得することはできません。
- 各関数はどこで呼び出すのですか?
- どの関数を呼び出すべきか 最初と次、そしてどれ 三番目?
- アプリケーションのすべてのファイルですべての関数が呼び出されますか?
- 「Back Button Blues」を改善するより良い方法を知っている人はいますか?
これは、記事の著者を含む良い会話を刺激するかどうか疑問に思っています。私が特に興味を持っているのは、戻るボタンが押されたときにデータベースへのフォームの重複エントリを防ぐために戻るボタンを制御することです。基本的に、アプリケーションのスクリプトの実行中に次の3つの関数を呼び出して、戻るボタンを制御します。関数を正確に呼び出す順序(上記の質問を参照)は、チュートリアルから明らかではありません。
すべての前方移動は、 scriptNext関数を使用します。これは 現在のスクリプト内で呼び出されます 新しいスクリプトをアクティブにするために。
function scriptNext($script_id) // proceed forwards to a new script { if (empty($script_id)) { trigger_error("script id is not defined", E_USER_ERROR); } // if // get list of screens used in this session $page_stack =
あなたは非常に価値があると思うが、きちんと説明されていないチュートリアルを見つけましたか?それが私のジレンマです。 このチュートリアルには何らかの価値があることを知っていますが、それを取得することはできません。
- 各関数はどこで呼び出すのですか?
- どの関数を呼び出すべきか 最初と次、そしてどれ 三番目?
- アプリケーションのすべてのファイルですべての関数が呼び出されますか?
- 「Back Button Blues」を改善するより良い方法を知っている人はいますか?
これは、記事の著者を含む良い会話を刺激するかどうか疑問に思っています。私が特に興味を持っているのは、戻るボタンが押されたときにデータベースへのフォームの重複エントリを防ぐために戻るボタンを制御することです。基本的に、アプリケーションのスクリプトの実行中に次の3つの関数を呼び出して、戻るボタンを制御します。関数を正確に呼び出す順序(上記の質問を参照)は、チュートリアルから明らかではありません。
SESSION['page_stack']; if (in_array($script_id, $page_stack)) { // remove this item and any following items from the stack array do { $last = array_pop($page_stack); } while ($last != $script_id); } // if // add next script to end of array and update session data $page_stack[] = $script_id;すべての前方移動は、 scriptNext関数を使用します。これは 現在のスクリプト内で呼び出されます 新しいスクリプトをアクティブにするために。
<*>スクリプトが終了すると 処理を終了するには、myを呼び出します。 scriptPrevious関数。この意志 現在のスクリプトを最後からドロップします スタック配列の 配列内の前のスクリプト。
<*>スクリプトがアクティブになるたびに、 scriptNextのいずれかを使用できます またはscriptPrevious関数、または の[戻る]ボタンのため ブラウザ、次を呼び出します それがであることを確認する機能 に応じた現在のスクリプト プログラムスタックの内容とテイク そうでない場合は適切なアクション。
<*>実行されるアクションは、 現在のスクリプトは プログラムスタックかどうか。 3つあります 可能性:
- 現在のスクリプトは$ page_stack配列にありません。その場合、 続行できません。代わりに にあるスクリプトに置き換えられます 配列の終わり。
- 現在のスクリプトは $ page_stack配列ですが、そうではありません 最後のエントリ。この場合、すべて 配列内の次のエントリは 削除されました。
- 現在のスクリプトは最後のエントリです $ page_stack配列内。これは 予想される状況。すべて飲む ラウンド!
あなたは非常に価値があると思うが、きちんと説明されていないチュートリアルを見つけましたか?それが私のジレンマです。 このチュートリアルには何らかの価値があることを知っていますが、それを取得することはできません。
- 各関数はどこで呼び出すのですか?
- どの関数を呼び出すべきか 最初と次、そしてどれ 三番目?
- アプリケーションのすべてのファイルですべての関数が呼び出されますか?
- 「Back Button Blues」を改善するより良い方法を知っている人はいますか?
これは、記事の著者を含む良い会話を刺激するかどうか疑問に思っています。私が特に興味を持っているのは、戻るボタンが押されたときにデータベースへのフォームの重複エントリを防ぐために戻るボタンを制御することです。基本的に、アプリケーションのスクリプトの実行中に次の3つの関数を呼び出して、戻るボタンを制御します。関数を正確に呼び出す順序(上記の質問を参照)は、チュートリアルから明らかではありません。
SESSION['page_stack'] = $page_stack; // now pass control to the designated script $location = 'http://' .すべての前方移動は、 scriptNext関数を使用します。これは 現在のスクリプト内で呼び出されます 新しいスクリプトをアクティブにするために。
<*>スクリプトが終了すると 処理を終了するには、myを呼び出します。 scriptPrevious関数。この意志 現在のスクリプトを最後からドロップします スタック配列の 配列内の前のスクリプト。
<*>スクリプトがアクティブになるたびに、 scriptNextのいずれかを使用できます またはscriptPrevious関数、または の[戻る]ボタンのため ブラウザ、次を呼び出します それがであることを確認する機能 に応じた現在のスクリプト プログラムスタックの内容とテイク そうでない場合は適切なアクション。
<*>実行されるアクションは、 現在のスクリプトは プログラムスタックかどうか。 3つあります 可能性:
- 現在のスクリプトは$ page_stack配列にありません。その場合、 続行できません。代わりに にあるスクリプトに置き換えられます 配列の終わり。
- 現在のスクリプトは $ page_stack配列ですが、そうではありません 最後のエントリ。この場合、すべて 配列内の次のエントリは 削除されました。
- 現在のスクリプトは最後のエントリです $ page_stack配列内。これは 予想される状況。すべて飲む ラウンド!
あなたは非常に価値があると思うが、きちんと説明されていないチュートリアルを見つけましたか?それが私のジレンマです。 このチュートリアルには何らかの価値があることを知っていますが、それを取得することはできません。
- 各関数はどこで呼び出すのですか?
- どの関数を呼び出すべきか 最初と次、そしてどれ 三番目?
- アプリケーションのすべてのファイルですべての関数が呼び出されますか?
- 「Back Button Blues」を改善するより良い方法を知っている人はいますか?
これは、記事の著者を含む良い会話を刺激するかどうか疑問に思っています。私が特に興味を持っているのは、戻るボタンが押されたときにデータベースへのフォームの重複エントリを防ぐために戻るボタンを制御することです。基本的に、アプリケーションのスクリプトの実行中に次の3つの関数を呼び出して、戻るボタンを制御します。関数を正確に呼び出す順序(上記の質問を参照)は、チュートリアルから明らかではありません。
SERVER['HTTP_HOST'] .$script_id; header('Location: ' .$location); exit; } // scriptNextすべての前方移動は、 scriptNext関数を使用します。これは 現在のスクリプト内で呼び出されます 新しいスクリプトをアクティブにするために。
<*>スクリプトが終了すると 処理を終了するには、myを呼び出します。 scriptPrevious関数。この意志 現在のスクリプトを最後からドロップします スタック配列の 配列内の前のスクリプト。
<*>スクリプトがアクティブになるたびに、 scriptNextのいずれかを使用できます またはscriptPrevious関数、または の[戻る]ボタンのため ブラウザ、次を呼び出します それがであることを確認する機能 に応じた現在のスクリプト プログラムスタックの内容とテイク そうでない場合は適切なアクション。
<*>実行されるアクションは、 現在のスクリプトは プログラムスタックかどうか。 3つあります 可能性:
- 現在のスクリプトは$ page_stack配列にありません。その場合、 続行できません。代わりに にあるスクリプトに置き換えられます 配列の終わり。
- 現在のスクリプトは $ page_stack配列ですが、そうではありません 最後のエントリ。この場合、すべて 配列内の次のエントリは 削除されました。
- 現在のスクリプトは最後のエントリです $ page_stack配列内。これは 予想される状況。すべて飲む ラウンド!
スクリプトが終了すると 処理を終了するには、myを呼び出します。 scriptPrevious関数。この意志 現在のスクリプトを最後からドロップします スタック配列の 配列内の前のスクリプト。
<*>スクリプトがアクティブになるたびに、 scriptNextのいずれかを使用できます またはscriptPrevious関数、または の[戻る]ボタンのため ブラウザ、次を呼び出します それがであることを確認する機能 に応じた現在のスクリプト プログラムスタックの内容とテイク そうでない場合は適切なアクション。
<*>実行されるアクションは、 現在のスクリプトは プログラムスタックかどうか。 3つあります 可能性:
- 現在のスクリプトは$ page_stack配列にありません。その場合、 続行できません。代わりに にあるスクリプトに置き換えられます 配列の終わり。
- 現在のスクリプトは $ page_stack配列ですが、そうではありません 最後のエントリ。この場合、すべて 配列内の次のエントリは 削除されました。
- 現在のスクリプトは最後のエントリです $ pa
解決
これは良い議論ですが、「Get After Post」とも呼ばれるPost Redirect Get(PRG)を検討する必要があります。
http://www.theserverside.com/patterns/thread.tss ?thread_id = 20936
他のヒント
私の記事を理解していない場合は、をよく見てください。図1 は、ユーザーが一連の画面を通過する典型的なシナリオを示しています&#8211;ログオン、メニュー、リスト、検索、追加、更新。 FORWARDSの動きを説明するとき、新しい画面がアクティブになっている間、現在の画面が中断されることを意味します。これは、ユーザーが現在の画面でリンクを押すと発生します。動きをBACKWARDSと記述すると、ユーザーは(QUITまたはSUBMITボタンを押すことにより)現在の画面を終了し、前の画面に戻り、中断したところから処理を再開します。これには、終了したばかりの画面で行われた変更を組み込むことが含まれます。
これは、ブラウザの履歴に依存しないページスタックを維持することが重要な場所です。&#8211;ページスタックはアプリケーションによって維持され、すべてのリクエストの検証に使用されます。これらはブラウザに関する限り有効である場合がありますが、アプリケーションによって無効であると識別され、それに応じて処理される場合があります。
ページスタックは、次の2つの関数によって維持されます。
- scriptNext()は、 新しい動きを追加するFORWARDS運動 スタックの最後のエントリ 新しいエントリをアクティブにします。
- scriptPrevious()は処理に使用されます BACKWARDSムーブメント。 スタックの最後のエントリ 前のエントリを再度アクティブにします。
ここで、ユーザーがリスト画面のページ4にナビゲートし、追加画面に移動してから、リスト画面のページ5に戻った例を見てみましょう。 ADD画面の最後のアクションは、POSTメソッドを使用してデータベースに追加された詳細をサーバーに送信するSUBMITボタンを押すことでした。その後、自動的に終了し、LIST画面に戻りました。
したがって、LIST画面の5ページ目で[戻る]ボタンを押すと、ブラウザの履歴により、追加画面での最後のアクション(POST)の要求が生成されます。これは、ブラウザに関する限り有効なリクエストですが、アプリケーションに関する限りではありません。アプリケーションは、リクエストが無効であるとどのように判断できますか?そのページスタックで確認します。 ADD画面が終了すると、そのエントリはページスタックから削除されたため、ページスタックにない画面の要求は常に無効として処理できます。この場合、無効なリクエストはスタックの最後のエントリにリダイレクトできます。
したがって、質問への回答は明白でなければなりません:
- Q:各関数はどこで呼び出しますか?
- A:scriptNext()を呼び出します ユーザーが選択したときの機能 新しい画面に進みます scriptPrevious()を呼び出します ユーザーが終了したときの機能 現在の画面。
- Q:呼び出す関数 最初と次、そしてどれ 三番目?
- A:各関数は によって選択されたアクションへの応答 ユーザーなので、1つの関数のみが使用されます 一度に。
- Q:すべての関数が呼び出されますか アプリケーション内のすべてのファイル?
- A:すべての機能が利用可能である必要があります アプリケーション内のすべてのファイルで ユーザーが選択したときにのみ呼び出されます。
これらのアイデアを実際に見たい場合は、私のサンプルをダウンロードできます。アプリケーション。
特に興味があるのは、戻るボタンが押されたときにデータベースへのフォームの重複エントリを防ぐために戻るボタンを制御することです。
あなたの前提は間違っています。アプリケーションをWebアプリケーションとして設計する場合、「戻るボタンブルース」のようなものはありません。サーバー側の状態なしでアプリケーションを設計する場合、最初のケースでこの問題に遭遇することはありません。このWebアプリケーションへの最小限のアプローチは非常にうまく機能し、通常RESTとして知られています。
@ troelskn
サーバー側の状態なしでアプリケーションを設計する場合....
状態を持たない効果的なアプリケーションを設計することはできません。そうしないと、相互に通信しない個々のページのコレクションだけが残ります。クライアントで状態を維持することには問題があるため、サーバーで状態を維持する以外に効果的な方法はありません。
@Marston。
post / redirect / getで問題を解決しましたが、チュートリアルにはいくつかのメリットがあり、トニーマーストンが詳しく説明できると思います。そして、それがどのように私の特定の問題を解決するために使用できるかは、おそらく同様の何か。または、特定の問題を解決するために実際に関数を使用できる場合、post / redirect / getよりも優れています。これはここのコミュニティへの良い追加になると思います。
if (<*>POST) {
process_input(<*>POST);
header("Location: <*>SERVER[HTTP_REFERER]");
exit;
}