在点击时回显电子邮件地址到下一页,并使用$ _GET将电子邮件发送到该电子邮件

时间:2014-05-08 12:00:24

标签: php mysql email

我正在尝试将电子邮件地址回显到下一页' send_email.php'通过使用网址的链接。

想法是send_email.php向该链接所属的特定电子邮件地址发送电子邮件。

我目前正在获取未定义的索引' contact_email'错误,我不知道我做错了什么,我试图使用$ _GET作为从网址检索电子邮件地址的手段,并将其添加到send_email.php中的/ recipient行的电子邮件

我们的链接位于第1页'我们使用mysql查询从数据库中提取详细信息,如下所示:

$myId2 = filter_var($_GET['id'], FILTER_SANITIZE_NUMBER_INT);
        $query2 = mysql_query(" SELECT supplier_registration.contact_name, 
                               supplier_registration.contact_email, supplier_registration.contact_number, supplier_registration.company_address, supplier_registration.company_postcode
                        FROM supplier_registration 
                        INNER JOIN supplier_stats
                        ON supplier_registration.company_reg_number = supplier_stats.company_reg_number
                        WHERE supplier_stats.id = $myId2 AND supplier_stats.insurance_date = DATE(NOW())");
        while($row2 = mysql_fetch_array( $query2 )) {
        echo "<div class=\"contact_details\">Contact Details:<br/>";    
        echo "<p><font color=\"#999\">Contact Name:</font> ".$row2['contact_name']."<br/>";
        echo "<font color=\"#999\">Contact Number:</font> ".$row2['contact_number']."<br/>";
        echo "<p><font color=\"#999\">Contact Email:</font> ".$row2['contact_email']."<br/></p>";

        echo "<p><font color=\"#999\">Postal Address:</font> ".$row2['company_address']."</br>";
        echo "<font color=\"#999\">Contact Name:</font> ".$row2['company_postcode']."</p>";
        echo "</div>";

        echo "<a href=\"send_email.php?email=".$row2['contact_email']."\"\"><div class=\"buttons\">Send Reminder Email</div> </a>";

然后当我们点击链接时,我们转到send_email.php,它看起来像这样:

<?php
$_GET['contact_email'];
$myEmail = $_GET['contact_email'];

 $to = $myEmail;
 $subject = "Hi!";
 $body = "Hi,\n\nHow are you?";
 if (mail($to, $subject, $body)) {
   echo("<p>Email successfully sent!</p>");
  } else {
   echo("<p>Email delivery failed…</p>");
  }
 ?>

但我收到了这些错误:

Notice: Undefined index: contact_email in C:\xampp\htdocs\hewden_spms\send_email.php on line 2

Notice: Undefined index: contact_email in C:\xampp\htdocs\hewden_spms\send_email.php on line 3
Email successfully sent!

有人可以告诉我问题出在哪里以及我如何让这个工作感谢

4 个答案:

答案 0 :(得分:1)

您将参数传递给锚标记,参数为email

 echo "<a href=\"send_email.php?email=".$row2['contact_email']."\"\"><div class=\"buttons\">Send Reminder Email</div> </a>";
                                ^

并尝试访问 send_email.php 中的$_GET['contact_email'];

您必须在GET中使用您在传递时使用的参数名称。因此,请更改为$_GET['email'];

答案 1 :(得分:0)

<a href="send_email.php?email="您的查询字符串参数名称为email而不是contact_email

应该是,

$_GET['email'];
$myEmail = $_GET['email'];

而不是

$_GET['contact_email'];
$myEmail = $_GET['contact_email'];

答案 2 :(得分:0)

您要将$ _GET参数设置为此行中的“电子邮件”:<a href=\"send_email.php?email=".$row2['contact_email'].

答案 3 :(得分:0)

使用

echo "<a href=\"send_email.php?contact_email=".$row2['contact_email']."\"\"><div class=\"buttons\">Send Reminder Email</div> </a>";

而不是

echo "<a href=\"send_email.php?email=".$row2['contact_email']."\"\"><div class=\"buttons\">Send Reminder Email</div> </a>";

您正在传递电子邮件= $ row2 [&#39; contact_email&#39;]这意味着您的密钥是电子邮件,价值是$ row2 [&#39; contact_email&#39;]中的值,价值可能是任何东西但你可以通过电子邮件获得价值。