2014-01-21 76 views
-1

我的问题基本上是,我有这样的事情:通过代码提交表单

if (!empty($_POST['field1'])OR !empty($_POST['field2']) OR !empty($_POST['field3'])) 
{ 
// SUBMIT FORM 
} else {  
// display error message 
} 

我的问题是,我真的不知道如何使用的代码,因为即时通讯在PHP没有真正经历提交表单。

我使用所有的!empty($_POST['field1'],因为我的表单中有16个输入字段,前5个总是需要的,但在其他11个输入字段中最少需要1个输入,我认为这是最简单的解决方案。

有一点问题,我也想知道如何阻止表单提交到另一个页面,所以我可以写一个错误或在页面上的东西。

+1

与以往一样,你需要上传你已经尝试过...... – charliefortune

+0

PHP不是什么您这里需要。 PHP组成了发送给浏览器的页面。你想控制浏览器回发到服务器。为此,你需要一些JavaScript(或jQuery)。 – paul

回答

0

你只能在php中提交表单时检查字段。所以只需将表单提交到html开始之前的页面顶部的同一页面,添加if条件以满足您所需的条件。如果条件为false,则可以使用包含错误消息的变量加载相同的页面。此外,您可以使用JavaScript进行客户端验证。

0

请在客户端的所有验证,如果一切都很好,然后从JavaScript提交表单或者显示同一页上的错误...

document.getElementById('theForm').submit(); 

请参阅以下链接,更多的了解:

How to submit a form using javascript?
How to submit a form with JavaScript by clicking a link?

服务器端验证,也可以做PHP的,在这种情况下,你需要重定向到包含通过表单的页面这里给出的PHP http://in2.php.net/manual./en/function.header.php

0

你不能用PHP提交表单,你需要为那个(或jQuery)使用Javascript。

使用javascript:

document.getElementById("your_form_name").submit(); 

或使用jQuery:

$('#your_form_name').submit(); 

根据您的第二个问题 - 当你定义表单,定义action属性。

'script.php'通常是一个单独的文件,并且会导致浏览器导航到这个文件。 要绕过此,您至少有2个选项:

  1. 将“操作”更改为窗体所在的同一个文件。基本上你会将脚本发布给自己。
  2. 使用Ajax发布表单数据。 Ajax将在后台工作,您将能够动态更新页面,而无需刷新。请参阅jQuery Ajax Submit Form了解更多信息。

希望这会有所帮助!

0

为什么要第二次提交变量? 您的要求!empty($ _ POST ['field1'])等似乎你已经提交了变量,现在检查他们,如果他们是空的或不...

如果是这样,你可以设置一个“标志”,无论你的变量是否好。 因此,例如:

if (!empty($_POST['field1'])OR !empty($_POST['field2']) OR !empty($_POST['field3'])) 
//or other if condition 
{ 
    $countinue = true; // set "flag" 
} 
else 
{ 
    $continue = false; 
} 

然后:

if($continue == true) 
{ 
// continue what you want to do next 
} 
else 
{ 
// stop process and echo error message 
} 

另一个可能性是他们检查后,提交您的变量再次使用GET-方法。这意味着调用另一个页面,并添加您的变量(加密)的URL,例如,而不是设置你的标志变量$继续=真:

header("Location:next-page.php?var1=$_POST['field1']&var2=$_POST['field2]"); 
0

你可以像这样

 
    if(isset($_POST['field1'],$_POST['feild2'],$_POST['field3'])) 
    { 
     // submit the form 
    } 

为显示错误消息,您可以使用javascriptjQuery这里我正在使用jQuery。

  1. 在您的html中包含jquery head
  2. 现在把这个script写在一个单独的文件中。并在您的头部添加.js
 
    $(document).ready(function(){ 
     var val1 = $("#IdOfField1").val(); 
     var val2 = $("#IdOfField2").val(); 
     var val3 = $("#IdOfField3").val(); 
     // now validate the fields as per your requirement. 
     if(val1!='' || val1.lengh != 0) 
      { alert('Enter your name'); 
      return false;} 
     else{return true;} 
    });