2012-04-05 4 views
0

私は、運転免許申請のためのシステムを持っています。しかし、このシステムをコーディングしているうちに、私はいくつかの問題に直面しましたが、私が今直面している問題は、アプリケーションのフォームから値を渡してプロセッサページを渡し、医療アンケートページを渡し、最後に医療用プロセッサのページで使用する。私の例では、ページ1からページ3に値を渡すより良い方法はありますか?

概要レイアウト:

apply2.php> apply_now.php> medical_question.php> medical_question_now.php>はSuccess.php

主な質問:

$selectedPermit=$_POST['cat'];の値をapply_now.phpからmedical_question_now.phpに転送する最適な方法は何ですか?

説明:

私はapply2.phpのチェックボックスのフォームを持っているし、[送信]をクリックすると、それはapply_now.phpにリンクします。

apply_now.php(phpプロセッサページ)では、チェックボックスで選択した値を取得してここで処理できました。例えば。過去3年間に医療アンケートを完了していない場合、データをデータベースに挿入することなくアンケートページに表示されます。それ以前に医学的アンケートを行った場合、成功ページにまっすぐに進みます。

医療アンケートでは、23の質問があり、各回答はmedical_questionnair_now.phpページを介してデータベースに保存されます。

medical_question_now.php(phpプロセッサページ)は、アンケート回答をデータベースに挿入するためのクエリで構成されていますが、apply2.phpのチェックボックスから取得した値を挿入したいと思います。

Success.phpは、おめでとうとしているページです。

私の現在のアイデア: 私はデータを持ち出すことができる2つの方法があると思います。

  1. medical_question.phpと一緒にapply_now.phpを結合します。

  2. 隠し入力を使用すると、プロセッサページがすべてユーザーに公開されている必要があります。

  3. いくつかの研究の後で、私はセッションがそれを達成するのに役立つことが分かったが、どのように私はそれを行うためにセッションを使用することができますか?私はより良い理解の目的のためにPHPに固執したいと考えていますが、皆さんはどの助けることができる、より良いJavascriptを()があると思えば

を(私はそれを試してみることができますので、私にSESSIONの大まかな説明を与えることができます)簡単に理解できる、私を導く...私は新しいものを学びたい。おかげ

別の質問

私がお願いしたいもう一つの問題は、私のPHPプロセッサページであれば、私は)(警告とエコーを交換したいです。私はこれを行くことができます。これに代えて

if($missing1=='1' or $missing2=='1') 
     { 
      echo '<script>alert("Sorry. You did have not met the Pre-Requisites for '.$permit .'");</script>'; 
      header ('Location:s_apply2.php'); 
     } 

if($missing1=='1' or $missing2=='1') 
     { 
      echo"Did not meet pre-requisites for $permit"; 
     } 

はあなたの助けのためにどうもありがとう...私はここから多くを学んできました。事前に感謝ありがとう。

+0

使用PHP申し訳ありません –

答えて

1

session_start(); 
echo $_SESSION['selectedPermit']; 

Javascriptの質問:

if($missing1=='1' or $missing2=='1') 
    { 
     echo '<script>alert("Sorry. You did have not met the Pre-Requisites for '.$permit .'");\n"; 
     echo 'location.href="s_apply2.php";</script>'; 
     // header ('Location:s_apply2.php'); use javascript instead of header function 

    } 

よろしく

+0

アドバイスありがとうございました...注意...このような場合には、今後もechoを使用します...ありがとう – Hubert

4

私は$_SESSIONの使用方法については、取扱セッションにPHPのドキュメントを読んで、実際にお勧めしたい:http://us3.php.net/manual/en/book.session.php

導入から迅速な抜粋を:PHPで

セッションのサポートは維持する方法で構成されてい後続のアクセスの間に特定のデータ これにより、よりカスタマイズされた アプリケーションを構築し、Webサイトの魅力を高めることができます。

あなたのウェブサイトにアクセスしている訪問者には、固有のID、 いわゆるセッションIDが割り当てられています。これは、ユーザー のCookieに格納されているか、URLに伝播されています。

セッションサポートでは、$ _SESSIONスーパーグローバル配列のリクエスト間でデータを保存できます。訪問者がサイトにアクセスすると、PHP は自動的に(session.auto_startが1に設定されている場合)自動的にチェックされます(具体的にはsession_start()を介して )、または (暗黙的に)特定のセッションIDが リクエスト。この場合、先に保存された環境は に再作成されます。

+0

でセッションが、uが格納さありませんか配列の結果はセッション?出来ますか?チェックボックスの結果は配列になるので – Hubert

1

私はセッション方法に同意します。たとえば、あなたは検索ページからのエラーメッセージを取得し、メインインデックスに戻ってそれを送信したい場合は、エラー文があるべきところはどこでも、あなたは検索ページでこれを行うことができます:

session_start(); 
$_SESSION['error'] = "Error! You have done something wrong!"; 
header('Location: index.php'); 

次にインデックスに.phpページのようなもの:

session_start(); 
$error = $_SESSION['error']; 
session_destroy(); 

次に、メッセージを表示する場所をecho $ errorとします。変数をページに設定してからセッションを削除するので、エラーを表示してからページを更新するとエラーメッセージは表示されなくなります。別のページの使用上のセッション

session_start(); 
$selectedPermit = $_POST['cat']; 
$_SESSION['selectedPermit'] = $selectedPermit; 

を使用して

関連する問題