PHP表单问题 - 创建表单,允许用户将网站信息发送给朋友

时间:2011-02-24 19:09:52

标签: php forms share

编辑 -

感谢您的及时回复。具体来说,我想要实现的是设置一个html页面,其唯一目的是通过用户填写的表单抓取,然后放入电子邮件正文中并发送给用户选择的人。我会格式化该html页面非常简单。我不知道是否会把它缩小更多。

嗨,

我必须创建2个表单,一个是我已经完成的典型php联系表单,但另一个需要允许用户将网站信息的压缩版本发送给朋友。 “分享这个网站”的那种链接。我的客户向我发送了一个示例,您可以在其中输入收件人的电子邮件地址,发件人的电子邮件,姓名和邮件,收件人会收到包含压缩信息的html电子邮件。我不是专家,我终于掌握了基本联系表格。任何帮助将不胜感激。

谢谢你, 詹弗兰科

2 个答案:

答案 0 :(得分:1)

更多细节肯定会有所帮助,我无法弄清楚你是否想要将部分$ _POST []数据发送给其他用户,或者实际与其他用户分享页面上的内容。

如果您希望触发$ _POST []数据(或其中一些数据),只需包含一个循环来构建var / val组合,并将其作为处理例程的一部分发送给另一个用户。代码就是这样的:

// set headers
$sheaders = 'From: webmaster@example.com' . "\r\n" .
  'Reply-To: webmaster@example.com' . "\r\n" .
  'X-Mailer: PHP/' . phpversion();

// generate $_POST[] summary for email
$smsg = NULL;
foreach ($_POST as $svar => $sval)
{
  if(!empty($sval))
  {
    $smsg .= "$svar : ".htmlspecialchars($sval)."\n";
  }
}

mail('blah@spam.com', date("m/d/Y")."-Submission", $smsg, $sheaders);

如果您正在谈论邮寄页面上的内容,我认为只是一个简单的提交,将链接发送到当前页面将是一个很好的解决方案,特别是由于所有电子邮件客户端以不同方式呈现HTML(或不是因此,发送链接是让人们回到适当内容的可靠方法。

答案 1 :(得分:0)

你需要做四件事:

  1. 允许输入“发件人电子邮件”,“收件人电子邮件”,“姓名”和“邮件”的表单。这还应包括他们希望发送的页面的一些链接(无论这是一个URL,ID等,你只需要一些方法来识别它。最好将它被动地发送到表单。)你'我必须决定在哪里以及如何显示它(例如,在它自己的页面上,在每个内容页面上,作为弹出窗口,作为悬停框等)。

  2. 一个脚本,可以提取相关页面的相关部分以进行电子邮件发送。例如,如果它只是一个带有标题的图像,您可能只需要图​​像和标题(不是标题栏,导航栏,类似的东西)。对于某篇文章,您可能希望发送整个文本,或者您可能只想发送一个代码段。我发现最简单的方法可以确保实际内容在某个$content变量中,您可以根据需要进行解析。

  3. 可以将第2项中的数据注入的电子邮件模板。这可能是一封空白的电子邮件,一封类似于您网站的电子邮件,包含您网站的标题,颜色等,或者完全不同的内容。这取决于你。

  4. 一个电子邮件脚本,可以将第3项的电子邮件发送到第1项的电子邮件,并附加一个事实,即电子邮件必须标记为从“发件人”发送的电子邮件“来自第1步。这可以通过电子邮件标题来完成。

  5. 当您拥有所有这些步骤时,它相对简单,从第1项中的表单中获取必要的数据。在给定传递给项目#1中的表单的标识符的情况下,从步骤#2收集所需的项目数据。加载电子邮件模板,并将项目#1和#2中的数据注入其中,然后在项目#1中构建由用户详细信息组成的必要标题。然后将此电子邮件发送到项目#4以进行交付。 / p>

    你问的是一个非常广泛的问题,这是我可以在没有更多细节的情况下回答这个问题的最好方法。我建议你单独研究这些项目中的每一个,因为它有助于减少你的工作量并给予你是一个更灵活,可扩展和更健壮的脚本。