繁体   English   中英

使用HTML / CSS对PHP Array POST输出进行样式设置(使其漂亮)

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM