2017-04-25 11 views
0

私はPHPの初心者です.PHPページの形でPDFを再作成しようとしています。htmlフォームの検証で複数のPHPページを使用する

本質的に、ユーザーはいくつかのフィールドに入力を提供しなければなりません。そして、フォームの検証が成功すると、新しいフォームを新しいウィンドウの新しいPHPページに渡します。

有効でない場合は、ページがリロードされ、調整が必要なフィールドが示されます。 これは形式です:

<form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>" name="form"> 

私が今持っている何を、フォームが送信されたときに、それ自体にフォームを渡すことです:

if ($_SERVER["REQUEST_METHOD"] == "POST") { 
if (empty($_POST["schoolIn"])) { 
    $schoolErr = "School Name is required"; 
} else { 
    if (!preg_match("/^[a-zA-Z ]*$/",$_POST["schoolIn"])) { 
     $schoolErr = "Only letters and white space allowed"; 

    } 
    else{ 
      $school = $_POST["schoolIn"]; 
    } 
} 

/*the rest of the validation goes here */ 

これは素晴らしい動作しているようです、しかし私はこれらのチェックのすべてが正常に検証された場合、フォームを新しいPHPドキュメントに提出する方法が不明です。

フォーム提出ボタンでは、フォームが検証するかどうかをチェックする条件付きの方法がありますか?その場合は、新しいPHPファイル(「submitted.php」など)に再度送信しますか?私はこのすべて間違っについて考え

+0

フォームが送信され、エラーがない場合、header( 'location:yourgape.php');を使用できます。 –

+0

新しいページに値を渡す必要がありますか? – JYoThI

+0

大丈夫、header( 'location:submitted.php')を使っても動作するようですが、そのPHPページは最初のPHPに含まれるすべての値を知っていますか? – Quinn

答えて

0

方法1:

はちょうどこの

header('Location:submitted.php?schoolIn='.$_POST['schoolIn']‌​);

アクセスDの値のようなクエリパラメータとして値を渡しますestinationページ方法2 $_GET['schoolIn'];

を使用して:

あなたがセッションにポスト値を保存し、どこかでそれにアクセスすることができます。

$_SESSION['form_values']=$_POST; 

アクセスこの

$_SESSION['form_values']['schoolIn']; 

ノートのような先のページの値は:あなたのセッションを使用して、どこにセッション開始を開始するのを忘れないでください。

関連する問題