2011-06-20 13 views
0

旅行代理店のウェブサイトを開発中です。このサイトでは、ユーザーが旅行を予約すると、旅行関連の詳細を入力する必要があります。この情報は形式で収集されます。また、ユーザーは旅行中の人数を入力します。ユーザーが入力した値に応じて同じフォームを何度も呼び出す

私の質問は、旅行しているすべての人に同じ情報をどのように集めるのですか?基本的には、同じ家族の人数に応じて何度も生成されるフォームが必要なので、すべてのデータを取得できます。これはどうすればいいですか?

よく私のコードがあります;私はとても混乱して、それを解決するために多くのことを試して助けてください。事前に おかげ

<form action = "insertpassenger.php" method = "POST"> 
    <center>Enter all the information below</center> 
    <?php for ($i=0;$i<$pplno;$i++) : ?> 
    people<?php echo $i+1 ; ?> 
    <input type="text" name="cpr" size="9" value="<?php echo $cpr;?>" maxlength="9">CPR 
    <input type="text" name="pplno" size="30" maxlength="25">Number Of People 
    <input type="text" name="gcpr" size="9" maxlength="9">dad CPR 
    <input type="reset" value="clear" name="clear"> 
    <input type="submit" value="join" name="join"> 
    <?php endfor; ?> 
</form> 
+0

これを行うには非常に多くの方法があります!あなたの脳を使用するか、インスピレーションのために他の旅行ウェブサイトを使用してください。ユーザーは、適切な祝日/旅行オプションを特定してから予約することができる同様のプロセスを採用します。 – GordyD

+2

あなたは追加の個人のための複数のフィールドを持っていないなぜあなたは余分な人を追加したい場合は、余分なフィールドを表示するためにJavaScriptを使用することができますか? – Liam

答えて

0

は、私は個人的にセッション変数を使用して、フォームを完了する必要が何回カウントダウンでしょう。残念ながら、これは各フォーム入力後にページをリロードすることになりますが、これにより、1ページにすべてのフォームを作成するための画面をスクロールせずに、ユーザーの要求と同じ量のフォームを作成できます。あなたはブラウザに何かを表示する前に、あなたのコードの開始時

<?php 
session_start(); 
?> 

そして、あなたはループのためのあなたの数を受け取る:

<?php 
if (!isset($_SESSION['yourAppName'])) 
} 
    $_SESSION['yourAppName'] = $pplno; 
} else { 
    $_SESSION['yourAppName']--; 
} 
if ($_SESSION['yourAppName'] > 0) { 
    ?> 
<form action=''> 
    <input type="text" name="cpr" size="9" value="<?php echo $cpr;?>" maxlength="9">CPR 
    <input type="text" name="pplno" size="30" maxlength="25">Number Of People 
    <input type="text" name="gcpr" size="9" maxlength="9">dad CPR 
    <input type="reset" value="clear" name="clear"> 
    <input type="submit" value="join" name="join"> 
    <input type="submit" value="Proceed"> 
</form> 
<?php 
} else { 
    // code when all forms are filled in 
} 
?> 

は同じにフォームのリターンを持っていることを忘れないでくださいページ。このコードはあなたをガイドするだけであり、編集することなく動作するとは思わない。 :)

+0

あなたはコードplzで私を見せることができます – ghufran

+0

@ghufran:私はいくつかの方法を説明するコードを追加しました。 – Nightwolf

0

あなたのコードは、かなり多くのPHPにジャンプします。

ただ暗黙的または明示的な番号で、配列エントリとして項目名を宣言:

for ($i=0;$i<$pplno;$i++) : ?> 
<input type="text" name="cpr[]" size="9" value="<?php echo $cpr[$i];?>" maxlength="9">CPR 
<input type="text" name="pplno[]" size="30" maxlength="25">Number Of People 
<input type="text" name="gcpr[]" size="9" maxlength="9">dad CPR 
<input type="reset" value="clear[]" name="clear"> 
<input type="submit" value="join[]" name="join"> 
<?php endfor; 

か...

for ($i=0;$i<$pplno;$i++) { 
print "<input type=\"text\" name=\"cpr[$i]\" size=\"9\" value=\"$cpr[$i]\" maxlength="9">CPR"; 
.... 
} 
+0

はまだ問題です。私のコードを隠すforループ。私はそれがinfinteループに行くと思う、plllllz私を助ける – ghufran

+0

それはまだ動作しません,,, pllllzは助けてくれます...私はこれが好きなときに、私のフィールドを隠す、私はなぜ知りません!!!! !!!!! – ghufran

+0

ループの前に$ pplnoの値は何ですか? – symcbean

関連する問題