2017-02-26 5 views
0

私は2段階の確認とPHPのフォームを作成しよう (私は私の自己に挑戦してみたが、私は立ち往生:PHPフォーム2ステップ確認

  1. ユーザーがフォームを記入し、提出ヒットすると、それはチェックすべての条件(名前などを渡す)。すべてがOK自動的にユーザーをリダイレクトする場合。

  2. (同じページに)リダイレクトした後、ユーザーが再びすべての詳細を確認することができます。 彼らはOK、再びヒットした場合最後のページにリダイレクトする送信ボタン

私は第2段階で立ち往生しました...最終ページにリダイレクトする方法は?

私は非常に初心者ですので、私は何か良いやアドバイスを行うことができます好奇心です。

<?php 
// the php code 
session_start(); 


if ($_SERVER['REQUEST_METHOD'] == "POST") { 

// setting up the variables 

$title = $_POST['title']; 
$fName = trim(filter_input(INPUT_POST,'fName', FILTER_SANITIZE_STRING)); 
$lName = trim(filter_input(INPUT_POST,'lName',FILTER_SANITIZE_STRING)); 
$age = intval($_POST['age']); 


$_SESSION['title'] = $title; 
$_SESSION['fName'] = $fName; 
$_SESSION['lName'] = $lName; 
$_SESSION['age'] = $age; 



//checking for possible errors 
if ($fName == "" || strlen($fName) <= 2) { 
    $errorMsg1 = "<span>Provide your First name!(minimum 3 characters)</span>"; 
    $status = false; 

} 
else if ($lName == "" || strlen($lName) <= 2) { 
    $errorMsg2 = "<span>Provide your Last name!(minimum 3 characters)</span>"; 
    $status = false; 

} 
else if ($age < 18) { 
    $errorMsg3 = "<span>You must be 18 or above!</span>"; 
    $status = false; 

} 

else { $status = true; } 

// redirecting to done page 

if ($status) { 
    header("Location:TEST ZONE.php?status=awaiting"); 
    } 
    } 

?> 
<!doctype html> 
<html> 
<head> 
<title></title> 
</head> 
<body> 
<div id="wrapper"> 
<?php 

if (isset($_GET['status']) && $_GET['status'] == "awaiting") { 
    echo "<form>" 
    . "Check your Details!<br>" 
    . $_SESSION['title'] . "<br>" 
    . $_SESSION['fName'] . "<br>" 
    . $_SESSION['lName'] . "<br>" 
    . $_SESSION['age'] . "<br>" 
    // **NOW WHEN I'M in the awaiting phase, i don't know what to do(** 

    . "<input type='submit' name='submit'/>"; 

    echo "</form>"; 
    } 

    else { ?> 
    <form action="TEST ZONE.php" method="post"> 
    <h3>Register Form </h3> 

    <label for="title">Title </label> 
    <select name="title"> 
     <option name="mr">Mr</option> 
     <option name="ms">Ms</option> 
    </select><br><br><br> 
    <label for="fName">First Name</label><br> 
    <input type="text" name="fName" id="fName" value="<?php if (isset($fName)) { echo $fName; } ?>"><br><?php 
    if (isset($errorMsg1)) { 
     echo $errorMsg1; 
    } 
    ?><br><br> 

    <label for="lName">Last Name</label><br> 
    <input type="text" name="lName" id="lName" value="<?php if (isset($lName)) { echo $lName; } ?>"><br><?php 
    if (isset($errorMsg2)) { 
     echo $errorMsg2; 
    } 
    ?><br><br> 

    <label for="age">Age</label><br> 
    <input type="text" name="age" id="age" value="<?php if (isset($age)) { echo $age; }?>"><br><?php 
    if (isset($errorMsg3)){ 
     echo $errorMsg3; 
    } ?><br><br> 
    <input type="submit" value="Submit"><input type="reset"> 

</form> <?php } ?> 
    </div> 



</body> 
</html> 

答えて

1

最終ページをリダイレクトするようにフォームにアクションを追加します。

あなたはまた、最終ページに

<?php 

// the php code 
session_start(); 


if ($_SERVER['REQUEST_METHOD'] == "POST") { 

// setting up the variables 

$title = $_POST['title']; 
$fName = trim(filter_input(INPUT_POST,'fName', FILTER_SANITIZE_STRING)); 
$lName = trim(filter_input(INPUT_POST,'lName',FILTER_SANITIZE_STRING)); 
$age = intval($_POST['age']); 


$_SESSION['title'] = $title; 
$_SESSION['fName'] = $fName; 
$_SESSION['lName'] = $lName; 
$_SESSION['age'] = $age; 



//checking for possible errors 
if ($fName == "" || strlen($fName) <= 2) { 
    $errorMsg1 = "<span>Provide your First name!(minimum 3 characters)</span>"; 
    $status = false; 

} 
else if ($lName == "" || strlen($lName) <= 2) { 
    $errorMsg2 = "<span>Provide your Last name!(minimum 3 characters)</span>"; 
    $status = false; 

} 
else if ($age < 18) { 
    $errorMsg3 = "<span>You must be 18 or above!</span>"; 
    $status = false; 

} 

else { $status = true; } 

// redirecting to done page 

if ($status) { 
    header("Location:TEST ZONE.php?status=awaiting"); 
    } 
    } 

?> 
<!doctype html> 
<html> 
<head> 
<title></title> 
</head> 
<body> 
<div id="wrapper"> 
<?php 

if (isset($_GET['status']) && $_GET['status'] == "awaiting") { 
    echo "<form action='final_page.php'>" 
    . "Check your Details!<br>" 
    . $_SESSION['title'] . "<br>" 
    . $_SESSION['fName'] . "<br>" 
    . $_SESSION['lName'] . "<br>" 
    . $_SESSION['age'] . "<br>" 
    // **NOW WHEN I'M in the awaiting phase, i don't know what to do(** 

    . "<input type='submit' name='submit'/>"; 

    echo "</form>"; 
    } 

    else { ?> 
    <form action="TEST ZONE.php" method="post"> 
    <h3>Register Form </h3> 

    <label for="title">Title </label> 
    <select name="title"> 
     <option name="mr">Mr</option> 
     <option name="ms">Ms</option> 
    </select><br><br><br> 
    <label for="fName">First Name</label><br> 
    <input type="text" name="fName" id="fName" value="<?php if (isset($fName)) { echo $fName; } ?>"><br><?php 
    if (isset($errorMsg1)) { 
     echo $errorMsg1; 
    } 
    ?><br><br> 

    <label for="lName">Last Name</label><br> 
    <input type="text" name="lName" id="lName" value="<?php if (isset($lName)) { echo $lName; } ?>"><br><?php 
    if (isset($errorMsg2)) { 
     echo $errorMsg2; 
    } 
    ?><br><br> 

    <label for="age">Age</label><br> 
    <input type="text" name="age" id="age" value="<?php if (isset($age)) { echo $age; }?>"><br><?php 
    if (isset($errorMsg3)){ 
     echo $errorMsg3; 
    } ?><br><br> 
    <input type="submit" value="Submit"><input type="reset"> 

</form> <?php } ?> 
    </div> 

final_page.php

<?php 
session_start(); 
$title = $_SESSION['title']; 
$fName = $_SESSION['fName']; 
$lName = $_SESSION['lName']; 
$age = $_SESSION['age']; 
?> 
にそれにアクセスすることができますので、あなたは既にセッション内のすべての値を持っています