2014-10-20 107 views
0

如何在发送前验证表单数据?我有一个名为address.php的文件,它检查输入的数据以确保其符合要求。这里是我的尝试,但它没有提交函数提交(我不想使用JS):在提交之前使用php文件验证表单数据

function validate(){ 
    include('checkaddress.php'); //checks data conforms 
    if (empty($_POST['address']) && checkAddress($_POST['address']) == 0) 
    { 
     echo ("<fieldset><legend>Invalid Address</legend><p id='form' style='color:red;'><b>Invalid Address </b></fieldset>"); 
     return false; 
    } 
    else 
    { 
     return true; 
    } 
} 


<form method="post" action="address.php"> 
      <fieldset> 
<table style="float:center!improtant; text-align:center!important; margin-left:auto!important;margin-right:auto!important;"> 
         <tr><legend>Address</legend></tr> 

       <tr><td> 
       <label for="email">address:</label> 
       <input type="text" name="address" id="address" size="32" maxlength="128"> 
         </tr></td> 
         <tr><td> 
       <input type="submit" name="submit" onsubmit="return validate();" value="Submit" > 
//Call function upon submit. I've tried 'onsubmit="validate();"' 
         </tr></td> 

        </table> 
       </fieldset> 
      </form> 

谢谢。

+2

如果您想在提交表单之前执行此操作,则必须使用javascript。 – jeroen 2014-10-20 21:39:03

+1

在提交表单之前,无法在php中执行任何操作 - php在服务器上运行 – Steve 2014-10-20 21:39:19

回答

1

如果没有JavaScript,你不能这样做。

要用php验证不用,您需要通过javascript(例如$.ajax)将它发送到您的服务器上或者提交表单,然后用php进行验证。老实说,用JS首先验证客户端通常是一个更好的用户体验。这并不意味着你不应该验证服务器端(PHP),因为你绝对应该这样做。