如何处理一个PHP表单,一旦验证为一个新的;processpage.php";

如何处理一个PHP表单,一旦验证为一个新的;processpage.php";,php,forms,Php,Forms,感谢您抽出时间阅读此 我的任务是验证一个php表单并在一个新页面“processcomp.php”中处理它 我可以在JS中验证它 我可以在PHP中验证它。 问题是:如果验证不正确,则会提示错误。 如果验证正确,则不会执行任何操作,也不会处理表单 我需要知道一旦表单完成并验证,如何将表单及其值重定向到“processcomp.php” 如果有错误,我不希望用户在空白字段中再次输入信息,只是为了纠正不正确的字段。 如何防范XSS(跨站点脚本)攻击 请查找以下代码: <?PHP r

感谢您抽出时间阅读此

我的任务是验证一个php表单并在一个新页面“processcomp.php”中处理它 我可以在JS中验证它 我可以在PHP中验证它。 问题是:如果验证不正确,则会提示错误。 如果验证正确,则不会执行任何操作,也不会处理表单

我需要知道一旦表单完成并验证,如何将表单及其值重定向到“processcomp.php”

如果有错误,我不希望用户在空白字段中再次输入信息,只是为了纠正不正确的字段。

如何防范XSS(跨站点脚本)攻击

请查找以下代码:

    <?PHP
   require_once ("formvalidator.php");

   $show_form=true;
   if(isset($_POST['Submit']))
   {// We need to validate only after the form is submitted
   //   
   // The first argument is the name of the input field in the form. 
   // The second argument is the validation descriptor that tells the type of the validation required. 
   // The third argument 
   // is the error message to be displayed if the validation fails. 
   //

   //Setup Server side Validations
       //Please note that the element name is case sensitive 
       $validator = new FormValidator();
       $validator->addValidation("FIRSTNAME_FIELD","req","Please enter first name");
       $validator->addValidation("LASTNAME_FIELD","req","Please neter your surname");    
       $validator->addValidation("EMAIL_FIELD","email","Enter a valid email value");
       $validator->addValidation("EMAIL_FIELD","req","Please enter an Email");
       $validator->addValidation("STORE_NAME_FIELD","req","Please select a store");


       //Then validate the form
       if($validator->ValidateForm())
       {
    // 
   // How do i make it to process the form it is correctly to "process-page.php"
    //
       }
       else
       {
           echo "<B>Validation Errors:</B>";

           $error_hash = $validator->GetErrors();
           foreach($error_hash as $inpname => $inp_err)
           {
             echo "<p>$inpname : $inp_err</p>\n";
           }
       }
   }

   if(true == $show_form)
   {
   ?> 





   <form class="" name="emvForm" id="emvForm"  action="" method="POST" style="" >

        <table width="380" border="0" cellspacing="10" cellpadding="" style="">
     <tr>
       <td class="form-comp"><label for="FIRSTNAME_FIELD" style="">First name*</label></td>
       <td><input type="text"  class="required nameaa " id="FIRSTNAME_FIELD" name="FIRSTNAME_FIELD" value="" size="25" maxlength="64" style=""></td>
     </tr>
     <tr>
       <td class="form-comp"><label for="LASTNAME_FIELD">Surname* </label></td>
       <td><input type="text" class="required nameaa" id="LASTNAME_FIELD" name="LASTNAME_FIELD" value="" size="25" maxlength="64" style=""></td>
     </tr>
     <tr>
       <td class="form-comp"><label for="EMAIL_FIELD">Email*</label></td>
       <td><input type="text" id="EMAIL_FIELD" class="required email" name="EMAIL_FIELD" value="" size="25" maxlength="64" style=""></td>
     </tr>
     <tr>
       <td class="form-comp"><label for="STORE_NAME_FIELD">Select shop*</label></td>
       <td><select id="STORE_NAME_FIELD" name="STORE_NAME_FIELD" class="required" style="">
         <option selected disabled="disabled" value="">Select shop</option>
         <option value="Aberdeen |T: 0123456789 | 345 Lorem High St EFG 456">Aberdeen </option>
         <option value="Acton | T: 0123456789 | 123 Ipsum High St ABD 123">Acton </option>
         <option value="Aldgate">Aldgate </option>
         <option value="Ashford">Ashford </option>
         <option value="Aylesbury">Aylesbury </option>
         <option value="Baker Street">Baker Street </option>

       </select></td>
     </tr>
     <tr>
       <td> <label for="STORE_NAME_FIELD"> </label>
       </td>
       <td>
        <input type='submit' name='Submit' value='Submit form' style=" cursor:pointer;">
       </td>
     </tr>
   </table>
         <input type="hidden" id="SOURCE_FIELD" name="SOURCE_FIELD" value="St-Petes">
         <input type="hidden" id="PROMO_FIELD" name="PROMO_FIELD" value="<?php echo($Promo); ?>">
         <input type="hidden" id="PROMO2_FIELD" name="PROMO2_FIELD" value="<?php echo($Promo2); ?>">





   </form>

   <?PHP
   }//true == $show_form
   ?>



   </table>

名字*
姓*
电子邮件*
精选商店*
精选商店
香港仔
阿克顿
奥尔盖特
阿什福德
艾尔斯伯里
贝克街

我会建议你用ajax来做

将表单数据发送到您的process-page.php,如果表单数据有效,则返回true;如果表单数据无效,则返回错误消息


这将为您提供有关如何防止XSS的信息:

我建议您使用ajax

将表单数据发送到您的process-page.php,如果表单数据有效,则返回true;如果表单数据无效,则返回错误消息


这将为您提供如何防止XSS的信息:

根据流程页面的外观,这应该是最简单的方法

if($validator->ValidateForm())
 {
    include("process-page.php");   
 }

但我建议将文件的相关部分“复制”到当前文件中,因为这样,任何人(有相关知识的人)都可以直接发布到处理站点并绕过验证。

根据处理页面的外观,这应该是最简单的方法

if($validator->ValidateForm())
 {
    include("process-page.php");   
 }

但我建议将文件的相关部分“复制”到当前文件中,因为像这样,任何人(有知识的人)可以直接发布到处理站点并绕过验证。

为提交处理程序定义一个表单操作,如“无”或“定义为空”,则为同一页面将表单操作设置为process-comp.php,并在该页面上执行所有验证检查。如果失败,则将标题位置设置回表单页面以显示错误。为提交处理程序定义一个表单操作,如“无”或“定义为空”,将表单操作设置为process-comp.php,并在该页面上执行所有验证检查。如果它们失败,将标题位置设置回表单页面以显示错误。亲爱的狗鼻子。感谢您的及时回复,我将尽快尝试实施……我尝试过,但表单没有任何地方。“process page.php”从未执行过;(,无论是哪种情况,谢谢你的帮助。亲爱的狗鼻子。谢谢你的及时回复,我将尽快尝试实现…我尝试了,但表单没有出现任何地方。从未执行过“process page.php”;(,谢谢,无论如何谢谢你的帮助。谢谢你,不幸的是我不使用ajax,我只知道PHP。关于你的XSS文章非常有用。感谢oyu回答这个问题…谢谢你,不幸的是我不使用ajax,我只知道PHP。关于你的XSS文章非常有用。感谢oyu回答这个问题。。。