我有一个html页面,顶部的PHP表单验证,以检查字段是否为空,之后是一个html表单,之后一些html显示错误消息,如果字段没有填写。表单的顶部看起来像:
<form action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>" method="post">
在页面顶部的PHP中,我检查输入字段是否为空。
if($_SERVER["REQUEST_METHOD"]==='POST')
{
if($_POST["field1"]==""){
$errormessage = "field1 is not empty";
}elseif($_POST["field2"]==""){
$errormessage = "field1 is not empty";
}else{
// if the fields are both filled in i want to send the form
//variables to mailing.php where are the variables are mailed
}
这是我的页面中错误代码的html:
如果两个字段都已填满,我想将POST数据发送到mailing.php
,我可以将变量格式化为html电子邮件。
因为我有很多变量,我想使用以下命令将整个$ _POST变量发送到mailing.php:
header('location:mailing.php?post='.$_POST);
但是如何在mail.php中访问$ _POST中的varable? 这不起作用:
$inputfield = $_GET["post"]["field1"];
答案 0 :(得分:1)
这是一个糟糕的设计。 您应该包含mailing.php
并根据某些条件编写一个逻辑来访问$_POST
。但是,如果您仍希望转发请求,则可以使用cURL
。
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "http://example.com/mailing.php");
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_TIMEOUT, 30);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($_POST));
$data = curl_exec($ch);
curl_close($ch);