Вопрос:

Нужно использовать жирный тег в php

php html css

7646 просмотра

6 ответа

21 Репутация автора

У меня есть эта форма, она заполнена и работает нормально, когда форма отправляется, информация отправляется по электронной почте на идентификатор электронной почты, но все содержимое отображается в виде простого текста, когда он доставляет. Я хочу, чтобы, когда информация формы достигла идентификатора электронной почты, она должна была имена полей выделены жирным шрифтом.

<?php 
$errors = '';
$myemail = 'abc@email.com';//<-----Put Your email address here.


if(
empty ($_POST['fullname']) ||
empty ($_POST['martialstatus']) ||
empty ($_POST['dateofbirth']) ||
empty ($_POST['email']) ||
empty ($_POST['telephone']) ||
empty ($_POST['cell']) ||
empty ($_POST['graduation']) ||
empty ($_POST['yearatt']) ||
empty ($_POST['department']) ||
empty ($_POST['program']) ||
empty ($_POST['permanentaddress']) ||
empty ($_POST['currentemp']) ||
empty ($_POST['designation']) ||
empty ($_POST['selfemp']) ||
empty ($_POST['officeemail']) ||
empty ($_POST['officetele']) ||
empty ($_POST['portfolio']) ||
empty ($_POST['membership']))

{
    $errors .= "\n Error: all fields are required";
}

$fullname = $_POST['fullname'];
$martialstatus = $_POST['martialstatus'];
$dateofbirth = $_POST['dateofbirth'];
$email = $_POST['email'];
$telephone = $_POST['telephone'];
$cell = $_POST['cell'];
$graduation = $_POST['graduation'];
$yearatt = $_POST['yearatt'];
$department = $_POST['department'];
$program = $_POST['program'];
$permanentaddress = $_POST['permanentaddress'];
$currentemp = $_POST['currentemp'];
$designation = $_POST['designation'];
$selfemp = $_POST['selfemp'];
$officeemail = $_POST['officeemail'];
$officetele = $_POST['officetele'];
$portfolio = $_POST['portfolio']; 
$membership = $_POST['membership'];



if( empty($errors))
{
    $to = $myemail; 
    $email_subject = "Membership Information: $fullname";
    $email_body = "You have received a new message. ".
    " Here are the details:\n  Personal Information \n\n 
    Name:                      $fullname \n 
    Martial Status:            $martialstatus \n 
    Date of Birth:             $dateofbirth \n 
    Email:                     $email \n 
    Telephone:                 $telephone \n 
    Cell:                      $cell \n 
    Year of Graduation:        $graduation \n 
    Years Attended:             $yearatt \n
    Department:                $department \n 
    Program Attended:          $program \n 
    Permanent Address:         $permanentaddress \n\n 
    Career Information \n\n 
    Currently Employeed with:  $currentemp \n 
    Designation:               $designation \n 
    Self Employeed:            $selfemp \n 
    Office Email:              $officeemail \n 
    Office Telephone:          $officetele \n 
    Portfolio:                 $portfolio \n\n 
    MemberShip \n\n 
    Type of MemberShip:        $membership \n\n "; 

    $headers = "From: $myemail\n"; 
    $headers .= "Reply-To: $email";

    mail($to,$email_subject,$email_body,$headers);
    //redirect to the 'thank you' page
    header('Location: contact-form-thank-you.html');
} 
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 
<html>
<head>
    <title>Contact form handler</title>
</head>

<body>
<!-- This page is displayed only if there is some error -->
<?php
echo nl2br($errors);
?>


</body>
</html>
Автор: KennEthel Источник Размещён: 26.04.2012 07:33

Ответы (6)


2 плюса

7923 Репутация автора

Обязательно отправьте письмо в формате HTML и измените соответствующую строку на

Email:                     <b>$email</b> \n
Автор: Paul Размещён: 26.04.2012 07:37

5 плюса

56299 Репутация автора

Полужирный текст можно сделать с помощью электронного письма в формате HTML, установите заголовок типа контента:

$headers .= "MIME-Version: 1.0\r\n";
$headers .= "Content-Type: text/html;\r\n";

Используйте <strong>тег:

<strong>Name:</strong>                      $fullname <br />

Не забывайте, \nчто не будет отображать новую строку в электронном письме HTML, вам нужно использовать <br />.

Автор: MrCode Размещён: 26.04.2012 07:39

2 плюса

94762 Репутация автора

Обязательно добавьте заголовки, как указано в документации на странице почты.

$headers .= 'MIME-Version: 1.0' . "\r\n";  
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";

затем используйте разметку, чтобы написать письмо

Автор: fcalderan Размещён: 26.04.2012 07:39

2 плюса

4969 Репутация автора

Вам нужно будет добавить Content-typeзаголовок и добавить теги HTML к электронному письму, которое вы отправляете. Так:

$headers = "From: $myemail\n"; 
$headers .= "Reply-To: $email\n";
$headers .= "Content-type: text/html";

Кроме того, вам нужно преобразовать \nв HTML разрывы строк, поэтому:

$email_body = nl2br($email_body);
mail($to,$email_subject,$email_body,$headers);
Автор: Nadh Размещён: 26.04.2012 07:41

2 плюса

82515 Репутация автора

Ваши заголовки всегда должны заканчиваться на `\ r \ n"

Это не верно

$headers = "From: $myemail\n"; 
$headers .= "Reply-To: $email";

Так должно быть

$headers = "From: $myemail\r\n";
$headers .= "Reply-To: $email\r\n";
$headers .= 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";

Вам нужно добавить HTML-теги в вашу почту

пример

 Name:                      <strong>$fullname</strong><br />
Автор: Baba Размещён: 26.04.2012 07:41

1 плюс

1297 Репутация автора

Я позволил себе немного переписать, в основном из-за большого количества повторений и огромных проблем с безопасностью.

Можно также сделать несколько дальнейших улучшений, но это оставлено читателю в качестве упражнения.

<?php
$errors = '';
$myemail = 'abc@email.com';//<-----Put Your email address here.

$fields = array(
    'fullname' => 'Name',
    'martialstatus' => 'Martial Status',
    'dateofbirth' => 'Date of Birth',
    'email' => 'Email',
    'telephone' => 'Telephone',
    'cell' => 'Cell',
    'graduation' => 'Year of Graduation',
    'yearatt' => 'Years Attended',
    'department' => 'Department',
    'program' => 'Program Attended',
    'permanentaddress' => 'Permanent Address',
    'currentemp' => 'Currently Employeed with',
    'designation' => 'Designation',
    'selfemp' => 'Self Employeed',
    'officeemail' => 'Office Email',
    'officetele' => 'Office Telephone',
    'portfolio' => 'Portfolio',
    'membership' => 'Type of MemberShip',
);

// Don't allow HTML in form.
foreach ($_POST as $key => $value) {
    $_POST[$key] = strip_tags($value);
}

$missing_fields = array_diff_assoc($fields, $_POST);

if (count($missing_fields) > 0) {
    $errors .= "\n Error: all fields are required";
}

if (empty($errors)) {
    $to = $myemail;
    $email_subject = 'Membership Information: ' . $_POST['fullname'];
    $email_body = 'You have received a new message. Here are the details:<br />  Personal Information <br/ ><br/ >';
    foreach (array('fullname', 'martialstatus', 'dateofbirth', 'email', 'telephone', 'cell', 'graduation', 'yearatt', 'department', 'program', 'permanentaddress') as $key) {
      $email_body .= $fields[$key] . ': <strong>' . $_POST[$key] . "</strong><br />";
    }

    $email_body .= "Career Information <br /><br />";

    foreach (array('currentemp', 'designation', 'selfemp', 'officeemail', 'officetele', 'portfolio') as $key) {
      $email_body .= $fields[$key] . ': <strong>' . $_POST[$key] . "</strong><br />";
    }

    $email_body .= "MemberShip <br /><br />";

    foreach (array('membership') as $key) {
      $email_body .= $fields[$key] . ': <strong>' . $_POST[$key] . "</strong><br />";
    }

    $headers = "From: $myemail\r\n";
    $headers .= "Reply-To: $myemail\r\n";
    $headers .= "MIME-Version: 1.0\r\n";
    $headers .= "Content-type: text/html; charset=iso-8859-1\r\n";

    mail($to,$email_subject,$email_body,$headers);
    //redirect to the 'thank you' page
    header('Location: contact-form-thank-you.html');
}
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
    <title>Contact form handler</title>
</head>

<body>
<!-- This page is displayed only if there is some error -->
<?php
echo nl2br($errors);
?>


</body>
</html>
Автор: Letharion Размещён: 26.04.2012 08:25
Вопросы из категории :
32x32