2014-10-28 55 views
0

这是我用于在线注册的代码
验证不工作时,我提交了另一个页面,表单提交到另一个页面没有任何validation.i只需要知道如何与验证提交,可以有人帮忙 表格提交到另一个页面未经验证在php

<?php 
// define variables and set to empty values 
$nameErr = $cnameErr = $mobilenoErr = $emailErr = $cityErr= $postalcodeErr = $addressErr = ""; 

$name = $cname = $mobileno = $email = $city= $postalcode = $address = ""; 


if ($_SERVER["REQUEST_METHOD"] == "POST") { 
    if (empty($_POST["name"])) { 
    $nameErr = "Name is required"; 
    } else { 
    $name = test_input($_POST["name"]); 
    // check if name only contains letters and whitespace 
    if (!preg_match("/^[a-zA-Z ]*$/",$name)) { 
     $nameErr = "Only letters and white space allowed"; 
    } 
    } 

    if (empty($_POST["cname"])) { 
    $cnameErr = "Company Name is required"; 
    } else { 
    $cname = test_input($_POST["cname"]); 
    } 

    if (empty($_POST["mobileno"])) { 
    $mobilenoErr = "Mobile Number is required"; 
    }else { 
    $mobileno = test_input($_POST["mobileno"]); 
    // check if name only contains letters and whitespace 
    if (!preg_match("/^[789][0-9]{9}$/",$mobileno)) { 
     $mobilenoErr = "Not A Valid Number"; 
    } 
    } 

    if (empty($_POST["email"])) { 
    $emailErr = "Email is required"; 
    } else { 
    $email = test_input($_POST["email"]); 
    // check if e-mail address is well-formed 
    if (!filter_var($email, FILTER_VALIDATE_EMAIL)) { 
     $emailErr = "Invalid email format"; 
    } 
    } 
    if (empty($_POST["city"])) { 
    $cityErr = "City is required"; 
    } else { 
    $city = test_input($_POST["city"]); 
    // check if name only contains letters and whitespace 
    if (!preg_match("/^[a-zA-Z ]*$/",$city)) { 
     $cityErr = "Only letters and white space allowed"; 
    } 
    } 
    if (empty($_POST["postalcode"])) { 
    $postalcodeErr = "Postal Code is required"; 
    } else { 
    $postalcode = test_input($_POST["city"]); 
    } 

    if (empty($_POST["address"])) { 
    $addressErr = "Address is required"; 
    } else { 
    $address = test_input($_POST["address"]); 
    } 
} 


function test_input($data) { 
    $data = trim($data); 
    $data = stripslashes($data); 
    $data = htmlspecialchars($data); 
    return $data; 
} 
?> 
<div class="gridContainer clearfix"> 
    <div id="div1" class="fluid"><!-- header ends here--> 
    <div id="header" class="fluid"> 
     <div class="fluid logo_container zeroMargin_tablet"> 
     <div class="fluid logo_mvc"></div> 
     <!-- logo_mvc ends here--> 
     <div class="fluid logo_gsm"></div> 
     <!-- logo_gsm ends here--> 
    </div> 
    <!-- logo_container ends here--> 
</div> 
    <div class="fluid imageslide zeroMargin_desktop"> 
     <div class="fluid imageslide_gs zeroMargin_desktop"></div> 
     <!-- imageslide_gs ends here--> 
     <div class="fluid imageslide_content"> 
     <h1>IP Product Introduction and VoIP PBX 
Appliance Training Day @ Toronto</h1> 
     </div><!-- imageslide_content ends here--> 
     <div class="fluid imageslide_product"></div> 
     <!-- imageslide_product ends here--> 
    </div><!-- imageslide ends here--> 
    <div class="fluid content"> 
    <div class="fluid content_det"> 
    <h3>Event information</h3> 
    <p>Please join us at the Fairfield Inn & Suites Toronto Airport where Grandstream will offer four different sessions during the day. </p> 
    <h3>Introduction to Grandstream IP products</h3> 
    <p><b>8:45am - 10:15am</b><br/> 
Introduction to Grandstream, and basic information on Grandstream products including ATAs, gateways, routers and telephones. </p> 
<h3>Introduction to IP cameras IP and Surveillance products</h3> 
    <p><b>12:45pm - 2:15pm</b><br/> 
Basic information on IP cameras and surveillance products, and the introduction of the brand new GVR3550 Network Video Recorder. </p> 
<h3>Advanced Technical Training for UCM VoIP PBX's</h3> 
    <p><b>2:30pm - 4:30pm</b><br/> 
This session will focus on the advanced features of the UCM series, including the new features of the upcoming software and the brand new UCM6510 VoIP PBX for T1 networks. </p> 
    </div><!-- content_det ends here--><div class="fluid contet_form"> 
    <h2>Register Now</h2> 
    <form method="post" action="Submission.php"> 
    <div class="fluid div_form"><label><b>First name *:</b></label> 
    <input type="text" size="20px" name="name" placeholder="Enter Your Name Here" value="<?php echo $name; ?>"/><span class="error"><?php echo $nameErr;?></span> 

    </div> 


    <div class="fluid div_form"><label><b>Company Name *:</b></label> 
    <input type="text" size="20px" name="cname" placeholder="Enter Your Company Name Here" value="<?php echo $cname; ?>"/><span class="error"><?php echo $cnameErr;?></span></div> 

    <div class="fluid div_form"><label><b>Mobile Number *:</b></label> 
    <input type="text" size="20px" name="mobileno" placeholder="Enter Your Mobile Number Here" value="<?php echo $mobileno; ?>"/><span class="error"><?php echo $mobilenoErr?></span> 
    </div> 

    <div class="fluid div_form"><label><b>Email Id *:</b></label> 
    <input type="email" size="20px" name="email" placeholder="Enter Your Email Id Here" value="<?php echo $email; ?>"/><span class="error"><?php echo $emailErr?></span></div> 


    <div class="fluid div_form"><label><b>City *:</b></label> 
    <input type="text" size="20px" name="city" placeholder="Enter Your City Name Here" value="<?php echo $city;?>"/><span class="error"><?php echo $cityErr?></span></div> 

    <div class="fluid div_form"><label><b>Postal Code *:</b></label> 
    <input type="text" size="20px" name="postalcode" placeholder="Enter Postal Code Here" value="<?php echo $postalcode; ?>"/><span class="error"><?php echo $postalcodeErr?></span> 
    </div> 

    <div class="fluid div_form"><label><b>Address *:</b></label> 
    <input type="text" size="20px" name="address" placeholder="Enter Address Here" value="<?php echo $address; ?>"/><span class="error"><?php echo $addressErr?></span></div> 


<button name="submit">Submit</button> 
    </form> 
    </div><!-- contet_form ends here--> 
    </div><!-- content ends here--> 
    </div><!-- div1 ends here--> 
</div> 
</body> 
+0

检查表格属性您'action',看看这是否是目标文件或没有。 – itachi 2014-10-28 08:39:58

+0

您必须验证在Submission.php中,也可以选择通过javascript形式页面 – 2014-10-28 08:40:05

+0

将以上验证内容添加到Submission.php页面 – Eranda 2014-10-28 08:41:58

回答

0

对我来说,好像你是新来的PHP表单处理。对于初学者来说,重新发明轮子是很危险的,因为它很容易打破脚本中的安全漏洞。使用框架或CMS能够处理的形式为您(例如,WordPressContact Form 7或者只是使用一些容易为Zebra Form或完整的东西像CakePHPLaravelSymfony

只是不要自己做的一切,除非你真的知道什么你在做什么。这可能需要一段时间才能上手,但它肯定会在长期内还清。

+1

好的感谢,我会努力 – 2014-10-28 10:14:29

1

验证具有当请求到达服务器发生。你的流程如下:

窗体显示在浏览器 - >用户点击提交 - >数据提交到Submission.php - >验证应该在这里发生。

把你的验证码放在Submission.php中。

+0

但我怎么能显示错误的形式页 – 2014-10-28 08:44:42

+1

验证我们的数据然后重定向到提交 – hsabbagh 2014-10-28 08:47:49

+1

或者只是使用同样的脚本!首先测试它是否是POST请求,如果是,则验证并保存数据(如果不正确),否则显示表单和错误消息(如果有)。 $ _SERVER ['REQUEST_METHOD']告诉你方法是GET还是POST。 – motanelu 2014-10-28 08:55:22

0

在表单属性中仔细检查您的操作。如果您在表单属性中提及页面名称,那么它将提交另一个页面而无需验证。如果您希望在同一页面进行验证,请在表单属性中从您的操作中删除页面名称。其他明智的做法是在另一个页面中进行验证检查,这是在表单属性中的操作中提到的。

0

您可以使用jquery来验证表单

这里有非常好的例子,你Click me

愿望这帮助你