簡體   English   中英

在html表單驗證中使用多個php頁面

[英]using multiple php pages in html form validation

我是PHP的新手,正在嘗試重新創建PHP頁面形狀的PDF。

本質上,用戶必須在多個字段中提供輸入,然后在提交時(如果表單成功通過驗證)會將HTML表單傳遞到新窗口中的新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”)?還是我在考慮這一點?都錯了。

方法1:

只是像這樣傳遞值作為查詢參數

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

使用$_GET['schoolIn'];訪問目標頁面上的值$_GET['schoolIn'];

方法2:

您可以將帖子值存儲到會話中,並可以在任何地方訪問它。

   $_SESSION['form_values']=$_POST;

這樣訪問目標頁面上的值

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

注意:不要忘記在使用session的任何地方開始會話。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM