[英]Styling PHP Array POST output with HTML / CSS (Making it Pretty)
你们真棒! 非常感谢您如此迅速的回答。 我缺少几个。和;,但是比我预期的还要详细!! 列技巧和边框非常棒! 谢谢你们!
我有一个要发送到电子邮件的php表单,但是仅仅用它看起来就很糟糕
名称:输入的名称
电子邮件:输入的电子邮件
等等
谁能帮我将其样式化为表格,我在尝试自己找出错误的过程中不断出错,并且我一直在搜索示例,但没有一个使用我的表单正在使用的代码类型,并且可能丢失了一些东西。 我相信这是我需要做的相关部分:
// If the e-mail is not working, change the debug option to 2 | $debug = 2;
$debug = 0;
$subject = $_POST['subject'];
$fields = array(
0 => array(
'text' => 'First Name',
'val' => $_POST['fname']
),
1 => array(
'text' => 'Last Name',
'val' => $_POST['lname']
),
2 => array(
'text' => 'Address',
'val' => $_POST['address']
),
3 => array(
'text' => 'City',
'val' => $_POST['city']
),
4 => array(
'text' => 'State',
'val' => $_POST['state']
),
5 => array(
'text' => 'Zip Code',
'val' => $_POST['zip']
),
6 => array(
'text' => 'Date of Birth',
'val' => $_POST['dob']
),
7 => array(
'text' => 'Phone Number',
'val' => $_POST['phone']
),
8 => array(
'text' => 'Email Address',
'val' => $_POST['email']
),
9 => array(
'text' => 'Position Desired',
'val' => $_POST['position']
),
10 => array(
'text' => 'Available Start Date',
'val' => $_POST['start']
),
11 => array(
'text' => 'Referred By',
'val' => $_POST['referred']
),
12 => array(
'text' => 'Additional Info',
'val' => $_POST['message']
)
);
$message = '';
$message .= '<h1>We Have a New Jobs Application!</h1>';
foreach($fields as $field) {
$message .= $field['text'].": " . htmlspecialchars($field['val'], ENT_QUOTES) . "<br>\n";
}
$mail = new PHPMailer(true);
您可以轻松地在foreach循环中添加任何样式!
foreach($fields as $field) {
$message .= "<span style='font-weight:bold;color:#000'>" . $field['text'].":</span><span style='color:#ccc;'>" . htmlspecialchars($field['val'], ENT_QUOTES) . "</span><br>\n";
}
制作表格:
$message .= "<table>";
$message .= "<thead>";
$message .= "<tr><th>column1</><th>column2</th></tr>";
$message .="</thead>";
$message .= "<tbody>";
foreach($fields as $field) {
$message .= "<tr><td>". $field['text']. "</td><td>" . htmlspecialchars($field['val'], ENT_QUOTES) . "<td></tr>";
}
$message .= "</tbody>";
$message .= "</table";
$message.="<table>";
foreach($fields as $field) {
$message.="<tr>";
$message .= "<td>".$field['text']."</td><td>" . htmlspecialchars($field['val'], ENT_QUOTES) . "</td>";
$message.="</tr>";
}
$message.="</table>";
但是也许可以签出一些模板库(例如smarty)来封装数据视图。
设置电子邮件正文后,您需要告诉PHPMailer您的内容是HTML,您可以通过调用isHTML()方法来实现
$mail->Subject = $Subject;
$mail->Body = $Body;
$mail->IsHTML(true);
在正文中,您可以仅通过foreach生成一张表
$message = "<table border='1'>";
foreach($fields as $field) {
$message .= "<tr><td>".$field['text'].": " . htmlspecialchars($field['val'], ENT_QUOTES) . "</td></tr>";
}
$message .= "</table>";
注意这是一个示例,您的表可能看起来有所不同,这只是指向正确方向的指针
应该是这样的:
$message .= '<table>';
$message .= '<tr> <th>text</th> <th>value</th> </tr>';
foreach($fields as $field) {
$message .= '<tr>';
$message .= '<td>'.$field['text'].'</td><td>'.htmlspecialchars($field['val'], ENT_QUOTES) . "</td>";
$message .= '</tr>';
}
$message .= '</table>';
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.