验证后如何获取表单?

时间:2013-11-21 18:48:28

标签: php html forms

在阅读W3Schools chapert认证后,我已经使用send self方法设置了表单和验证,并且必需的字段和电子邮件验证工作。

但我现在有点担心如何将经过验证的数据发送到下一步,这将是我的原始php文件,其中包含我的电子邮件地址..

我尝试使用此功能但无济于事:

//if valid then redirect

if($valid){

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

exit();

  }

}

如果有人可以帮助我,我会非常感激,因为我对php很新。 谢谢你的阅读。

2 个答案:

答案 0 :(得分:1)

不要重定向,你将丢弃你拥有的任何POST数据(并且验证输入中通常没有多少意义,这是POST的用途)。

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

如果您愿意,可以将其放在不同的文件中include()

答案 1 :(得分:0)

如果您正在尝试自行提交文件,那么您只需了解您的网页有多个用途。起初有点令人困惑,但是当你得到它时,它会有意义。您的页面必须能够:

  • 最初展示
  • 验证数据
  • 如果数据良好,请执行某些操作(发送电子邮件)

虽然你可以在验证时将数据发送到另一个页面(如另一个答案中所述),你也可以在一个页面中实现下面的基本逻辑/伪代码:

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.

希望这有点意义......