Php 电子邮件和下载

Php 电子邮件和下载,php,html,forms,Php,Html,Forms,我的问题:我正试图让这个表单通过电子邮件发送表单数据,并使用php脚本重定向到下载页面(即:单击一次=2个操作)。我在黑板上搜索了一下,没有找到任何和我想做的相似的东西。我试过几个选项,但它根本不会发送电子邮件。我做错了什么 代码: 表格: 下载DVD 输入您的全名和电子邮件,然后按下载DVD 输入您的姓名* 输入您的电子邮件* 下载DVD 重置 php: 再次。。。下载内容很好。但是电子邮件不会发送 我想你把你的if语句搞错了。目前的说法是,如果表单已提交,则在屏幕上打印一个U

我的问题:我正试图让这个表单通过电子邮件发送表单数据,并使用php脚本重定向到下载页面(即:单击一次=2个操作)。我在黑板上搜索了一下,没有找到任何和我想做的相似的东西。我试过几个选项,但它根本不会发送电子邮件。我做错了什么

代码: 表格:


下载DVD
输入您的全名和电子邮件,然后按下载DVD


输入您的姓名*

输入您的电子邮件*

下载DVD 重置
php:



再次。。。下载内容很好。但是电子邮件不会发送

我想你把你的if语句搞错了。目前的说法是,如果表单已提交,则在屏幕上打印一个URL,否则发送一封电子邮件,但根据您所说的内容,您希望重定向,并发送一封电子邮件。试试这个:

if(isset($_POST['myform_submit'])) {
    $send = mail( "info@website.com", "Landing Page Download", $_POST['name'], "From: " . $_POST['email'] );
    if($send) {
        header("Location: http://www.website.com");
    } else {
        echo 'Error sending email!';
    }
}
。不确定为什么要这样做,可能会导致表单数据无法按应有的方式发送。拆下外模。以下是HTML3(旧!)规范的第3行:

注意:不允许嵌套表单元素

问题3,您正在将表单方法设置为GET,然后尝试访问POST变量。问题3.5,您的操作是
action/php
——这不是文件名(除非在名为php的文件夹中,在名为action的文件夹中有index.php文件)。将所有这些更改为:

<form method="post" id="myform" action="action.php">


注意:
标题(“位置:[url]”)
向浏览器发送重定向标题,因此您将被重定向到目标url。如果您只是想显示URL(如您的问题中所示),那么继续
回显它。

您定义了$name和$email吗?也许你的意思是$_POST['name']和$_POST['email']——我看到你的邮件在else里。但这在那里没有什么意义。您的服务器是否配置为发送邮件?而且,action/php实际上解析为这个文件?它不起作用。现在它不会显示下载页面,也不会发送电子邮件。根据我以前的代码还有其他建议吗?
if(isset($_POST['myform_submit'])) {
    $send = mail( "info@website.com", "Landing Page Download", $_POST['name'], "From: " . $_POST['email'] );
    if($send) {
        header("Location: http://www.website.com");
    } else {
        echo 'Error sending email!';
    }
}
<form method="post" id="myform" action="action.php">