通过代码提交表格

时间:2014-01-21 08:43:59

标签: php html forms

我的问题基本上就是我有这样的事情:

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个输入,我认为这是最简单的解决方案。

有一个小问题,我也想知道如何阻止表单提交到另一个页面,这样我就可以在页面上写错误或其他内容。

5 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分: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所示

答案 2 :(得分:0)

您无法使用PHP提交表单,您需要使用Javascript(或jQuery)。

使用Javascript:

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

或使用jQuery:

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

根据您的第二个问题 - 在定义表单时,您可以定义操作属性。

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

  1. 将“操作”更改为您的表单所在的同一文件。基本上你会将脚本发布到自己。
  2. 使用Ajax发布表单数据。 Ajax将在后台运行,您将能够动态更新页面,而无需刷新。请查看jQuery Ajax Submit Form以获取更多信息。
  3. 希望这有帮助!

答案 3 :(得分:0)

为什么要再次提交变量? 你的请求!空($ _ 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中,例如,而不是设置标志变量$ continue = true:

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

答案 4 :(得分:0)

你可以这样做

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

显示错误消息,您可以使用javascriptjQuery,我正在使用jquery。

  1. 在您的html head中包含jquery。
  2. 现在将此script写入单独的文件中。并在头部添加.js
  3.     $(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;}
        });