Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/231.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何在验证后获取要发送的表单?_Php_Html_Forms - Fatal编程技术网

Php 如何在验证后获取要发送的表单?

Php 如何在验证后获取要发送的表单?,php,html,forms,Php,Html,Forms,在阅读了W3Schools关于验证的章节后,我已经使用send self方法设置了我的表单和验证,以及所需的字段和电子邮件验证工作 但我现在有点纠结于如何将经过验证的数据发送到下一步,即包含电子邮件地址的原始php文件 我尝试过使用此功能,但无效: //if valid then redirect if($valid){ header('Location: http://somewhere.co.uk/testvalidation2.php'); exit(); } } 如果有人

在阅读了W3Schools关于验证的章节后,我已经使用send self方法设置了我的表单和验证,以及所需的字段和电子邮件验证工作

但我现在有点纠结于如何将经过验证的数据发送到下一步,即包含电子邮件地址的原始php文件

我尝试过使用此功能,但无效:

//if valid then redirect

if($valid){

header('Location: http://somewhere.co.uk/testvalidation2.php');

exit();

  }

}
如果有人能帮我,我会非常感激,因为我对php还很陌生。
感谢阅读。

不要重定向,您将丢弃所有的POST数据(并且验证不存储的输入通常没有多大意义,这正是POST的目的)

只需将表单处理逻辑放在同一页中即可


你可以把它放在不同的文件中,如果你愿意的话,
include()

只需将表单处理逻辑放在同一页中即可


你可以把它放在不同的文件中,如果你愿意,你可以使用include()

如果你想做一个自我提交的文件,那么你只需要知道你的页面有不止一个用途。一开始有点让人困惑,但当你明白了,它会有意义的。您的页面必须能够:

  • 初显
  • 验证数据
  • 如果数据是好的,做点什么(发送电子邮件)
尽管您可以在验证时将数据发送到另一个页面(如另一个答案中所述),但您也可以在一个页面中实现以下基本逻辑/伪代码:

IF submit button not pressed //(first time in, just show page)
    $showform=true;  //to be used later to show the form or not
ELSE //must check data
    IF (DATA IS GOOD)
        //do your emailing
        $showform = false;  //All is good, don't show form - maybe just success message
    ELSE
        //create an error message
        $showform=true;  //need to show form again
    ENDIF
ENDIF

IF ($showform)
   //show the html form - sticky form is usually preferable.

希望这会有一些意义……

如果你想做一个自我提交的文件,那么你只需要了解你的页面有不止一个用途。一开始有点让人困惑,但当你明白了,它会有意义的。您的页面必须能够:

  • 初显
  • 验证数据
  • 如果数据是好的,做点什么(发送电子邮件)
尽管您可以在验证时将数据发送到另一个页面(如另一个答案中所述),但您也可以在一个页面中实现以下基本逻辑/伪代码:

IF submit button not pressed //(first time in, just show page)
    $showform=true;  //to be used later to show the form or not
ELSE //must check data
    IF (DATA IS GOOD)
        //do your emailing
        $showform = false;  //All is good, don't show form - maybe just success message
    ELSE
        //create an error message
        $showform=true;  //need to show form again
    ENDIF
ENDIF

IF ($showform)
   //show the html form - sticky form is usually preferable.

希望这有点道理…

您需要使用一些方法(cookies或querystring)来传递您的数据。您好,谢谢您回复我:)基本上,我只使用发布到php的html文件设置表单,并将结果发送到我的收件箱。现在,我的客户要求我在表单中包含正确/有效电子邮件地址的验证和一些必填字段,因此我尝试将验证后的表单立即发送到我的原始php,其中包括我的电子邮件地址,以便可以将其发送到我的收件箱。您需要使用一些方法(cookies或querystring)来传递数据您好,谢谢您回复我:)基本上,我只是用发布到php的html文件来设置表单,并将结果发送到我的收件箱。现在,我的客户要求我在表单中包含正确/有效电子邮件地址的验证和一些必填字段,因此我正在尝试将验证后的表单发送到我的原始php,其中包括我的电子邮件地址,以便将其发送到我的收件箱。同意,我只是认为他们需要更多关于“同一页面中的表单处理逻辑”…同意,我只是认为他们需要更多关于“同一页面中的表单处理逻辑”的信息“……嗯,基本上。。。我可以添加到php中,如果验证正常,则发送到电子邮件地址?是的,完全正确-如果验证良好,则发送电子邮件,如果验证不好,则显示带有消息的表单,或者只显示他们第一次看到页面时的表单。那是一张自动提交的表格。我已经为我之前教过的一门课做了一段视频——www.youtube.com/watch?v=ffCY-yi3W6Uhmm,所以基本上。。。我可以添加到php中,如果验证正常,则发送到电子邮件地址?是的,完全正确-如果验证良好,则发送电子邮件,如果验证不好,则显示带有消息的表单,或者只显示他们第一次看到页面时的表单。那是一张自动提交的表格。我为我不久前教过的一门课做了一段视频——www.youtube.com/watch?v=ffCY-yi3W6U