使用HTML / CSS设置PHP数组POST输出(使其漂亮)

时间:2017-08-04 21:16:11

标签: php html css

你们真棒!非常感谢你这么快回答这个问题。我错过了几个。并且;但是这比我预期的要详细!专栏和边框是一个很好的触摸!谢谢大家!

我有一个我希望发送到电子邮件的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);

4 个答案:

答案 0 :(得分:1)

您可以轻松地在foreach循环中添加任何样式!

$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";

制作表格:

nohup

答案 1 :(得分:0)

$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这样的模板库来封装来自数据的视图。

答案 2 :(得分:0)

您需要在设置电子邮件正文后告诉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>";

注意这是一个例子,你的表可能看起来不一样,这只是一个指向正确方向的指针

答案 3 :(得分:0)

应该是这样的想法:

 $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>';