【问题标题】:Style PHP mail form into table将 PHP 邮件表单样式化为表格
【发布时间】:2012-05-28 10:50:56
【问题描述】:

我有一个简单的 php 邮件表单,它会向管理员发送一封电子邮件,但目前它只是作为标准外观的文本发送。

我需要它,所以它出现在一个表格中,表格中的每个部分都在表格的新行中。

它还在表单上的某些选项中使用了一些单选按钮。单选按钮部分是否可以像下面的示例一样通过。

更新的框架评估 | “已选择单选按钮”

更新的框架评估 2 | “已选择单选按钮”

更新的框架评估 3 | “无”

如果是这样,如果选择了单选按钮的选项,它将为“绿色”,如果未选择任何内容,则显示“无”并显示为红色。

这是我目前正在使用的代码:

<?php

  $email = $_REQUEST['email'] ;
  $name = $_REQUEST['name'] ;
  $radio1 = $_REQUEST['radio1'] ;
  $radio2 = $_REQUEST['radio2'] ;
  $radio3 = $_REQUEST['radio3'] ;
  $radio4 = $_REQUEST['radio4'] ;
  $address = $_REQUEST['address'] ;
  $postcode = $_REQUEST['postcode'] ;
  $tel = $_REQUEST['tel'] ;


  mail( "email@domain.com", "APPROVAL REQUEST FORM",  "Renewed Framework Assessments: $radio1\nSP Assessment Analysis Program (Demo Version): $radio2\nRenewed Framework Mental Maths Assessments: $radio3\nRenewed Framework Word Problem Books: $radio4\nFrom: $name\nEmail: $email\nAddress: $address\nPostcode: $postcode\nTelephone Number: $tel\n",'From: order@mathsbooksforchildren.co.uk');

  header( "Location: http://domain.com/approval-request-form/" );

?>

【问题讨论】:

  • 没有尝试自己回答问题,邮件注入漏洞和使用$_REQUEST。看起来你真正需要做的是雇一个人来做这件事。 SO 是针对特定问题的,而不是为您工作。

标签: php email radio-button html-email


【解决方案1】:

你可以用这种方式来格式化你的消息....

     $headers  = "From: order@mathsbooksforchildren.co.uk\r\n"; 
     $headers .= "Content-type: text/html charset=iso-8859-1 \r\n"; 
     $message = '
    <html>
    <head>
      <title>Some title</title>
    </head>
    <body>
      <table>
     <tr><td>Email</td><td>'.$email.'</td></tr>
     <tr><td>Email</td><td>'.$email.'</td></tr>
     <tr><td>Nema</td><td>'.$name.'</td></tr>
     <tr><td>Radio1</td><td>'.$radio1.'</td></tr>
     <tr><td>Radio1</td><td>'.$radio3.'</td></tr>
      </table>
    </body>
    </html>'

    ';

【讨论】:

  • 我已经厌倦了这个,但电子邮件中的值没有通过它只显示 $email、$radio1、$name 等。
  • 很好,工作正常,是否有可能为值选择的任何单选按钮为绿色,如果没有选择它,它会以红色显示无?
  • 您可以像这样检查条件..if($radio1 =='1'){ echo '

    '.$radio1.'

    '}else{'

    '.$radio1.'

    '}

  • 您可以接受答案以使其可供所有用户使用..:)
  • 有了你评论中的新代码,我得到了这个错误“unexpected T_IF”有什么想法吗?
【解决方案2】:

为了发送 HTML 电子邮件,您必须设置适当的标题。

例如:

    $headers  = "From: order@mathsbooksforchildren.co.uk\r\n"; 
    $headers .= "Content-type: text/html charset=iso-8859-1 \r\n"; 

然后把你的 html 写在一个像这样的变量中:

    $message = '
<html>
<head>
  <title>Some title</title>
</head>
<body>
  <table>
  </table>
</body>
</html>
';

按照您的意愿设置表格,就像您在页面中设置 HTML 并使用这样的标题发送它:

mail("email@domain.com", "APPROVAL REQUEST FORM", $message, $headers); 

但总的来说,我建议您使用一些类进行邮件发送,使用默认的mail 函数可能会在某些时候导致很多麻烦。 试试Swift MailerPHP Mailer

【讨论】:

  • 好的,所以我将它作为一个表格通过,但我在表格中放入了 $radio1 以获得该值,但它只是作为 $radio1 而不是被选择的值。跨度>
  • 尝试断开字符串并连接变量
  • 我不明白你的意思,你能帮帮我吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-12-09
  • 1970-01-01
  • 2021-07-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多