, пожалуйста, я пытаюсь сделать сообщение на новой строке, поскольку клиент его набирает, но я получаю /r/n
между каждой строкой, а также пытается сделать вывод $body .= $_SESSION['username'];
на отдельной строке. Я попытался использовать this example решить, но не был успешным код нижепроблемы с разрывом строки с отправкой phpmail
<?php require_once("include/session.php");?>
<?php require_once("include/dataconnect.php");?>
<?php require_once("include/functions.php");?>
<?php include("include/mheader.php");?>
<?php
$submit = $_POST['Notify'];
$message = mysql_real_escape_string(htmlentities(strip_tags($_POST['message'])));
//echo "$message";
//die();
if('POST' === $_SERVER['REQUEST_METHOD'])
{
if (isset($message))
{
//Get Email Address
$emails = mysql_query("SELECT email FROM reusers WHERE username = '{$_SESSION['username']}'")or die(mysql_error());
//$emails = mysql_query("SELECT reusers.email FROM reusers INNER JOIN repplac ON reusers.username = repplac.Uname AND reusers.username = '".$_SESSION['username']."'")or die(mysql_error());
$results = (mysql_fetch_assoc($emails)) or die(mysql_error());
$email= $results['email'];
//echo "$email";
//die();
if(mysql_num_rows($emails) == 0){
exit("No email addresses found for user '{$_SESSION['username']}'");
}
$email = mysql_result($emails, 0);
//echo "$email";
//die();
$body = $_SESSION['username']. "<br>"
. nl2br($_POST['message']);
$to = $email;
$subject = "copy of your notification";
$headers = "From: [email protected]\r\n";
$headers .= 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
$headers .= 'Bcc:[email protected]' . "\r\n";
mail($to,$subject,$body,$headers);
}
}
?>
<p>
<form action='notification.php' method='Post' class='rl'>
<div>
<label for='message' class='fixedwidth'>Message</label>
<textarea name="message" rows ="7" cols="40" id="message"></textarea>
</div>
<div class='buttonarea'>
<p>
<input type='submit' name='notify' value='Notify'>
</p>
</div>
</form>
</p>
<?php include("include/footer.php");?>
Вам нужно разобраться в неверную вложенность вашего HTML. Некоторые браузеры будут загрязнять дисплей для ваших ошибок здесь – Pete
вы также должны заменить все '\ r \ n' в своем заголовке на' PHP_EOL', чтобы сделать его совместимым с перекрестной платформой –
@LawrenceCherone не совсем; это _should_ будет '\ r \ n' в заголовках MIME и для содержимого, на котором это действительно не важно, на самом деле Outlook в Windows более счастлив с' \ n', а не '\ r \ n' (он разделяет дубликаты строк и подсчитывает как '\ r', так и' \ n') - кроме того, PHP_EOL будет устанавливать окончания строк, как они есть на веб-сервере, а не то, что вы хотите, чтобы они находились в точке получения. – CD001