2016-07-14 10 views
0

私は2つのPHPページindex.phpとthankyou.phpを持っています。 index.phpには、フォームがあります。私はJavascriptとajaxでフォームを検証しており、フォームの値がデータベースに挿入されています。データベースのクエリの後、私はこのフォームをThankyou.phpにリダイレクトしています。私が望むのは、フォームフィールドの値をthankyou.phpに渡すことです。完全なコードを以下で見つけてください。 :ヘッダーに実行されているフォームフィールド値のデータをPHPで別のページに渡す

SQLクエリ: -

?php 


error_reporting(0); 

include_once('cc/connect.php'); 

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

{ 



$str="insert into registration(fname,lname,email,mobile_number,code,designation,organization,comps,city,affid,date_time,status)values('".mysql_escape_string($_POST['txtfname'])."','".mysql_escape_string($_POST['txtlname'])."','".mysql_escape_string($_POST['txtemail'])."','".mysql_escape_string($_POST['txtmobilenumber'])."','".mysql_escape_string($_POST['txtcode'])."','".mysql_escape_string($_POST['desig'])."','".mysql_escape_string($_POST['org'])."','".mysql_escape_string($_POST['comps'])."','".mysql_escape_string($_POST['txtcity'])."','".mysql_escape_string($_POST['txtaff'])."',now(),0)"; 

$rslt=mysql_query($str); 

if(!$rslt) 

{ 

    echo '<script type="text/javascript"> 

alert("We are experiencing some issues, please try later"); 

</script> 

'; 

} 

else 

{ 

     echo '<script type="text/javascript"> 

window.location.href="thankyou.php"; 

</script> 

'; 

} 

} 


?> 

Javascriptを検証: -

 <script type="text/javascript"> 

function validate_form() 

{ 

    var pattern =/^[a-zA-Z0-9._-][email protected][a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/; 

    var mob=/^(\+91[\-\s]?)?[89]\d{9}$/; 

    if(document.getElementById('txtfname').value=="" || document.getElementById('txtfname').value==null) 

    { 

     alert("Please enter First Name"); 

     document.getElementById('txtfname').focus(); 

     return false; 

    } 

    if(document.getElementById('txtlname').value=="" || document.getElementById('txtlname').value==null) 

    { 

     alert("Please enter Last Name"); 

     document.getElementById('txtlname').focus(); 

     return false; 

    } 

    if(document.getElementById('txtemail').value=="" || document.getElementById('txtemail').value==null) 

    { 

     alert("Please enter the Email"); 

     document.getElementById('txtemail').focus(); 

     return false; 

    } 


    if(!pattern.test(document.getElementById('txtemail').value)) 

    { 

     alert("Please enter the valid Email"); 

     document.getElementById('txtemail').focus(); 

     return false; 

    } 

    if(document.getElementById('txtmobilenumber').value=="" || document.getElementById('txtmobilenumber').value==null) 

    { 

     alert("Please enter the Mobile Number"); 

     document.getElementById('txtmobilenumber').focus(); 

     return false; 

    } 



    if(document.getElementById('txtcode').value=="" || document.getElementById('txtcode').value==null) 

    { 

     alert("Please enter verification code"); 

     document.getElementById('txtcode').focus(); 

     return false; 

    }else 

    { 

    check_existence(document.getElementById('txtcode').value,6); 

    } 



if(document.getElementById('comps').value=="" || document.getElementById('comps').value==null) 

    { 

     alert("Please enter Company strength"); 

     document.getElementById('comps').focus(); 

     return false; 

    } 

    if(!isNaN(document.getElementById('comps').value)) 

    { 

     alert("Please select the valid Company strength"); 

     document.getElementById('comps').value=''; 

     document.getElementById('comps').focus(); 

     return false; 

    } 



if(document.getElementById('org').value=="" || document.getElementById('org').value==null) 

    { 

     alert("Please enter Organization"); 

     document.getElementById('org').focus(); 

     return false; 

    } 




    if(document.getElementById('txtcity').value=="" || document.getElementById('txtcity').value==null) 

    { 

     alert("Please enter the city"); 

     document.getElementById('txtcity').focus(); 

     return false; 

    } 

    if(!isNaN(document.getElementById('txtcity').value)) 

    { 

     alert("Please enter the valid city"); 

     document.getElementById('txtcity').value=''; 

     document.getElementById('txtcity').focus(); 

     return false; 

    } 




} 



function check_existence(val,caseno) 

{ 

    var pattern = /^[a-zA-Z0-9._-][email protected][a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/;  

    var mob=/^(\+91[\-\s]?)?[789]\d{9}$/; 

    var xmlhttp; 

    if(caseno=="1") 

    { 

     if(!pattern.test(document.getElementById('txtemail').value)) 

     { 

      alert("Please enter the valid email"); 

      document.getElementById('txtemail').value=''; 

      document.getElementById('txtemail').focus(); 

      return false; 

     } 

    } 

    if(caseno=="2") 

    { 

     if(!mob.test(document.getElementById('txtmobilenumber').value)) 

     { 

      alert("Please enter the valid mobile number"); 

      document.getElementById('txtmobilenumber').value=''; 

      document.getElementById('txtmobilenumber').focus(); 

      return false; 

     } 

    } 





    if(caseno=="3") 

    { 

     if(!mob1.test(document.getElementById('txtname').value)) 

     { 

      alert("Please enter the valid mobile number"); 

      document.getElementById('txtname').value=''; 

      document.getElementById('txtname').focus(); 

      return false; 

     } 

    } 





    if(window.XMLHttpRequest) 

    { 

    xmlhttp=new XMLHttpRequest(); 

    } 

    else 

    { 

    xmlhttp=new ActiveXObject("Microsoft.XMLHTTP") 

    } 

    xmlhttp.onreadystatechange=function() 

    { 

     if (xmlhttp.readyState==4 && xmlhttp.status==200) 

     { 


      if(xmlhttp.responseText=="1") 

      { 

      alert("Email address already exists"); 

      document.getElementById('txtemail').value=''; 

      document.getElementById('txtemail').focus(); 

      } 


      if(xmlhttp.responseText=="2") 

      { 

       alert("Verification code has been sent to your mobile"); 

       document.getElementById('txtcode').focus(); 



      } 

      if(xmlhttp.responseText=="3") 

      { 

       document.forms["formsms"].submit(); 



      } 

      if(xmlhttp.responseText=="4") 

      { 

       alert("Please enter the valid verification code"); 



       document.getElementById('txtcode').focus(); 



      } 

      if(xmlhttp.responseText=="5") 

      { 

      alert("Mobile Number already exists"); 

      document.getElementById('txtmobilenumber').value=''; 

      document.getElementById('txtmobilenumber').focus(); 

      } 



     } 

    } 



    xmlhttp.open("GET","ajax_file.php?caseno="+caseno+"&val="+val,true); 

    xmlhttp.send(); 

} 

</script> 

フォームコード: -

<div class="form-content"> 
      <form class="form-box register-form form-validator" id="formsms" name="formsms" method="post"> 

       <div class="form-group"> 
       <label>First name: <span class="required">*</span></label> 
       <input class="form-control" type="text" name="txtfname" id="txtfname" required> 
       </div> 
       <div class="form-group"> 
       <label>Last name: <span class="required">*</span></label> 
       <input class="form-control" type="text" name="txtlname" id="txtlname" required> 
       </div> 
       <div class="form-group"> 
       <label>Email: <span class="required">*</span></label> 
       <input class="form-control" type="email" name="txtemail" id="txtemail" onchange="return check_existence(this.value,1);" required> 
       </div> 


       <div class="form-group"> 
       <div style="float:left; width:270px;" > 
       <label>Mobile: <span class="required">*</span></label> 
       <input class="form-control" type="text" name="txtmobilenumber" id="txtmobilenumber" onchange="return check_existence(this.value,2);" required> 
       </div> 
       <div style="float:right"> 
       <label>Verification Code: <span class="required">*</span></label> 
       <input class="form-control" type="text" name="txtcode" id="txtcode" required> 
       </div> 
       </div> 
       <div style="clear:both;"></div> 
       <div class="form-group"> 
       <label>Select Graduation: <span class="required">*</span></label> 
       <select class="form-control" name="comps" id="comps"> 
       <option>Select...</option> 
       <option value="BA">BA</option> 
       <option value="BBA">BBA</option> 
       <option value="BCom">BCom</option> 
       <option value="BSC">BSC</option> 
       <option value="BTech">BTech</option> 
       <option value="Other">Other</option> 




      </select> 


       </div> 

       <div class="form-group"> 
       <label>Graduation%: <span class="required">*</span></label> 
       <input class="form-control" type="text" name="org" id="org" required> 
       </div> 


       <div class="form-group"> 
       <label>City: <span class="required">*</span></label> 
       <input class="form-control" type="text" name="txtcity" id="txtcity" required> 
       </div> 



       <div class="buttons-box clearfix"> 
       <input type="button" id="btnsubmit" name="btnsubmit" class="btn btn-default" value="Submit" onclick="return validate_form()"/> 

       <span class="required"><b>*</b> Required Field</span> 
       <br> 

       </div> 
      </form><!-- .form-box --> 
      </div> 
+0

、およびthankyoupageにリダイレクトする前に、あなたは$ _SESSION []または$ _COOKIESで変数を置くことができ、あなたは – bfahmi

答えて

1

最も簡単な方法は、PHPのセッションを使用することです。これらは、ユーザーとの1つの対話からのデータを格納し、別の対話で検索されます。

connect.phpでは、追加:

session_start(); 

のindex.php では、あなたが検証され、DBに情報を保存した後、あなたは内のページ間を通過するデータを保存しますそれはあなたがすべての文字列操作をやった後にセッションに物事を保存するために、実際に良いでしょう

$_SESSION['fname'] = $_POST['txtfname']; 
.... 

$_SESSION配列(例:mysql_escape_stringを適用した後)。

ユーザーが別のリクエストを行うたびに、同じアレイ内のデータを見つけることができます。だから、ここで thankyou.php

$fname = $_SESSION['fname']; 
... 

に基本的なintro to sessionsです。

この次の注意はあなたの質問を超えていますが、それは本当に重要な教訓です。セッションは、別の訪問をしたときにユーザーを認識するためにCookieに依存しています。これは、精通したユーザーがセキュリティ制限を回避するために、このクッキーを操作してセッションを中断するか、他人として自分自身を提示しようとすることを意味します。基本に慣れたら、安全にセッションを使用する方法を見てください!

+0

はとてもありがとうございましたPHPページでそれらを使用します、あなたはこれを行うことができます多くの@BeetleJuice。それは魅力のように働いた。セッションに紹介してくれてありがとう、私はそれを読むよ:) –

0

$_SESSIONが役立つ典型的なケースのようです。

<?php 
    // FILE-NAME: header.php //<== THE AJAX PROCESSING SCRIPT 

    //FIRST CHECK IF SESSION EXIST BEFORE STARTING IT: 
    if (session_status() == PHP_SESSION_NONE || session_id() == '') { 
     session_start(); 
    } 


    error_reporting(0); 

    include_once('cc/connect.php'); 

    if($_SERVER['REQUEST_METHOD'] === 'POST') {   
     // JUST START SETTING UP THE SESSION DATA IF DATA WAS POSTED... 
     $_SESSION['fname']   = htmlspecialchars(trim($_POST['txtfname'])); 
     $_SESSION['lname']   = htmlspecialchars(trim($_POST['txtlname'])); 
     $_SESSION['email']   = htmlspecialchars(trim($_POST['txtemail'])); 
     $_SESSION['mobile_number'] = htmlspecialchars(trim($_POST['txtmobilenumber'])); 
     $_SESSION['code']   = htmlspecialchars(trim($_POST['txtcode'])); 
     $_SESSION['designation'] = htmlspecialchars(trim($_POST['desig'])); 
     $_SESSION['organization'] = htmlspecialchars(trim($_POST['org'])); 
     $_SESSION['comps']   = htmlspecialchars(trim($_POST['comps'])); 
     $_SESSION['city']   = htmlspecialchars(trim($_POST['txtcity'])); 
     $_SESSION['affid']   = htmlspecialchars(trim($_POST['txtaff'])); 
     $_SESSION['date_time']  = date("Y-m-d", time()); 
     $_SESSION['status']   = "0"; 

     $str="insert into registration(fname,lname,email,mobile_number,code,designation,organization,comps,city,affid,date_time,status)values('".mysql_escape_string($_POST['txtfname'])."','".mysql_escape_string($_POST['txtlname'])."','".mysql_escape_string($_POST['txtemail'])."','".mysql_escape_string($_POST['txtmobilenumber'])."','".mysql_escape_string($_POST['txtcode'])."','".mysql_escape_string($_POST['desig'])."','".mysql_escape_string($_POST['org'])."','".mysql_escape_string($_POST['comps'])."','".mysql_escape_string($_POST['txtcity'])."','".mysql_escape_string($_POST['txtaff'])."',now(),0)"; 

     $rslt=mysql_query($str); 

     //... THE REST OF YOUR CODE... 
    } 

その後、thankyou.phpの内側:このケースでは(あなたはAJAXとあなたのことをやっているので)、あなたは(?header.php)...あなたのAJAX処理PHPファイルでセッションを処理することもできますさて、ここではどのようですデータベースに挿入後

<?php 
    // FILE-NAME: thankyou.php 
    //FIRST CHECK IF SESSION EXIST BEFORE STARTING IT: 
    if (session_status() == PHP_SESSION_NONE || session_id() == '') { 
     session_start(); 
    } 

    // TO GET THE EMAIL, FIRST & LAST NAMES HERE, YOU CAN SIMPLE DO LIKE SO: 
    $email  = isset($_SESSION['email'])? $_SESSION['email'] : ""; 
    $firstName = isset($_SESSION['fname'])? $_SESSION['fname'] : ""; 
    $lastName = isset($_SESSION['lname'])? $_SESSION['lname'] : ""; 

    // ASSUMING YOU WANT TO THANK THE USER BY NAME: 
    // YOU MAY DO SOMETHING LIKE SO: 
    $thankYou = "<div class='thank-you'>" . PHP_EOL; 
    $thankYou .= "<p class='appreciation'>Thank you, " ; 
    $thankYou .= "<span class='user-name'>{$firstName} {$lastName}</span>"; 
    $thankYou .= " for your E-Mail... bla...bla..</p>" .PHP_EOL; 
    $thankYou = "</div>" . PHP_EOL; 

    echo $thankYou; 
関連する問題