2017-12-21 14 views
0

ここで私を修正してください。PHPマルチページ入力値セッション変数print

私は、各ページの最終ページにデータを渡して、それらを電子メールで送信するマルチページフォームを作成しました。最初はapply.phpですが、多くの入力フィールドがありますが、そのうちのいくつかがリストされています。ここでいくつかがパスポートフィールドにパスポート番号を入力すると、これはフォームの永遠に渡され、各ページ。これらのフィールドのいくつかを渡すときにいくつかの問題が発生します。

これは最初のページ(apply.php)

<?php 
    // Start the session 
    session_start(); 

    ?> 

    <form name="search_form" method="post" onSubmit="return chk();" action="apply2.php"> 

    <input name="passportno" id="passportno" type="text" maxlength="20" placeholder="Enter Passport No." size="43" > 

<input name="birthdate" type="date" class="textBoxDashed" size="43" id="birthdate" datepicker="true" datepicker_min="01/01/1900" datepicker_max="21/11/2017" maxlength="10" datepicker_format="DD/MM/YYYY" isdatepicker="true" value=""> 

<input name="button1" type="submit" value="Continue"> 

このapply2.phpあります。ここではいくつかの問題がありますが、私は見つけることができません、あなたはコードの下で見ることができるように、私は生年月日を印刷することができますが、パスポートを印刷することはできません(フォーム1からの入力)。ここで私が間違っている場所を修正してください。

<?php 
    session_start(); 
    $msg=""; 
    ////include("connect.php"); 
    if (isset($_POST['button1'])) 
    { 
     extract($_POST); 
     $code=strtolower($_POST['captcha_code']); 
     $sess=strtolower($_SESSION["code"]); 
    if ($sess==$code) 
    { 
     $appid=time().rand(); 
     $result=mysqli_query($con,"select *from registration where email='$email'"); 
     if (mysqli_fetch_row($result)>0) 
     { 
      ?> 
      <script> 
      alert("This email is already exist"); 
      </script> 
      <?php 
     } 
     else 
     { 
     $query="insert into registration values('$appid','$passportno','$birthdate','$email')"; 
     if (mysqli_query($con,$query)) 
     $msg="Data saved Successfully.Please note down the Temporary Application ID $appid"; 
     else 
     echo "not inserted".mysqli_error($con); 

     if (!isset($_SESSION["appid"])) 
     { 
     $_SESSION["appid"]=$appid; 
     } 

     } 
    } 
    else 
    { 
     ?> 

     <?php 
    } 

    } 
    ?> 

    <form name="OnlineForm" method="post" onsubmit="return OnSubmitForm();" action="apply3.php"> 

    <input name="applid" id="applid" value="<?php echo $_SESSION["appid"];?>"> 
    <input type="hidden" name="birthdate" value="<?php echo $birthdate;?>"><b><?php echo $birthdate;?> 
    <input name="passportno" type="text" class="textBoxDashed" id="passportno" value="" size="43" maxlength="14" value="<?php echo $passportno;?>"> 

input name="sc" type="submit" class="btn btn-primary" id="continue" value="Save and Continue" onclick="document.pressed=this.name"> 

答えて

1

抽出物を使用しないでください。また、データが設定されているかどうかを確認するためにいくつかのチェックを行います。データを取得しない場合は、$_POST['passportno']を試してください。値を取得して入力ボックスに戻したい場合は、定義されていない場合は何も返さないために<?php echo isset($_POST['passportno'])?$_POST['passportno']:'' ?>を単に使用してください。

また、入力に保護を追加する必要があります。 保護を追加するには、$passportno = mysqli_real_escape_string($con, $passportno);

関連する問題