ユーザー入力に基づいて何かをしようとしている場合は、おそらく次のいずれかを行う必要があります。
- ユーザー入力の各ビットが、入力が実行する必要があるコードのブロックを含むページへの新しい要求を生成するように、プログラムを Web アプリケーションとして構成するか、または...
- PHP 以外の言語を使用します。
#1 を行っていると仮定すると、インタラクションのどの「ステップ」にいるかを指定する特定の GET パラメータを持つことは、それほど難しいことではありません。たとえば、"A <user input> B or C <user input> D or E"
. 次のような URL スキームを使用できます。
/app/code.php - this runs the code block A
/app/code.php?step=B or /app/code.php?step=C - this runs either code block B or C
/app/code.php?step=D or /app/code.php?step=E - this runs either code block D or E
提供されたページのリンク/Javascript/何でも、次にどのページをロードするかを選択できます。PHP ファイルは次のようになります。
if(!isset($_GET['step'])) {
// code block A
} elseif($_GET['step'] == 'B') {
// code block B
} elseif($_GET['step'] == 'C') {
// code block C
} elseif($_GET['step'] == 'D') {
// code block C
} elseif($_GET['step'] == 'E') {
// code block C
} else {
// error, invalid step specified
}
ステップを単純に別の PHP ファイルに分割することもできます。どのアプローチが最適かは、おそらく、さまざまなオプション間で共有される機能の量と、その違いによって異なります。多くが共有されている場合は、単一のファイルの方が簡単かもしれません。ほとんどが異なる場合は、個別のファイルの方がおそらく簡単です。