Php 用于发送邮件而不是发送邮件的表单

Php 用于发送邮件而不是发送邮件的表单,php,javascript,email,sendmail,Php,Javascript,Email,Sendmail,我有一个“告诉朋友”弹出式电子邮件表单,允许用户使用他们输入的电子邮件地址共享我的页面。它弹出的很好,但我无法得到发送电子邮件的表格 html: 你的名字: 朋友的电子邮件: 主题: 信息: 处理“弹出窗口”的javascript: $(函数(){ $('#tellfriend').hide(); $(“#发送消息”)。单击(函数(e){ $(“#tellfriend”).fadeToggle('fast'); }); }); 应该发送邮件的php: <? if (isset($_

我有一个“告诉朋友”弹出式电子邮件表单,允许用户使用他们输入的电子邮件地址共享我的页面。它弹出的很好,但我无法得到发送电子邮件的表格

html:


你的名字:
朋友的电子邮件:
主题:
信息:
处理“弹出窗口”的javascript:


$(函数(){
$('#tellfriend').hide();
$(“#发送消息”)。单击(函数(e){
$(“#tellfriend”).fadeToggle('fast');
});
});
应该发送邮件的php:

<?
if (isset($_POST['Submit'])) {
// This will check to see if the form has been submitted
$senders_name = $_POST['name'];
// The person who is submitting the form
$recipient_friend = $_POST['to'];
// The forms recipient
$subject = $_POST['subject'];
// The subject line
$message = $_POST['message'];
// The message being sent
mail($recipient_friend, "From $senders_name", $subject, $message);

if (isset($_POST['your_email'])) {
echo "<br>Your friend has been contacted <br><br>Thank you $senders_name";
}}
?>


免责声明:PHP新手,希望学习。谢谢

邮件函数中的参数顺序不正确。看

应该是

mail($recipient_friend, $subject, $message);
如果要使用标题,请执行以下操作

$headers  = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";    
$headers .= 'To: '.$recipient_friend.' <'.$recipient_friend.'>' . "\r\n";    
$headers .= 'From: '.$sender.' <'.$senderEM.'>' . "\r\n";    

您的PHP代码中有一个错误:

if (isset($_POST['Submit'])) {
应该是:

if (isset($_POST['submit'])) {
带小写字母“s”

确实,提交按钮的名称是“提交”,但值是“提交”。 你最终可以做到:

if (isset($_POST['submit']) &&  $_POST['submit'] == 'Submit') {
而且您的邮件参数不正确,正如boug所说。

您有两个错误

  • 第一:

    if (isset($_POST['submit']))
    // $_POST is case sensitive
    
  • 第二:

    if (isset($_POST['your_email']))
    // you dont have an inout named 'your_email'
    

  • 它甚至调用PHP文件(检查访问日志)学习如何设置要发送的标题email@BugFinder我尝试从外部调用php文件并将其加载到页面上。@blackessej,遗憾的是,这没有回答我的问题。这就是你上面的代码是否真的在调用PHP(你可以从访问日志中看出这一点)。非常感谢,布格。你刚刚减轻了我的头痛,我在这个过程中学到了很多。
    if (isset($_POST['submit']) &&  $_POST['submit'] == 'Submit') {
    
    if (isset($_POST['submit']))
    // $_POST is case sensitive
    
    if (isset($_POST['your_email']))
    // you dont have an inout named 'your_email'