-
Вебмастеру
(
http://forum.oszone.net/forumdisplay.php?f=22)
gremlintv2 |
19-06-2016 13:59 2643961 |
Как поставить абзац(пробел) между переменными php
Есть вот такой скрипт:
Скрытый текст
PHP код:
<?php
require 'phpmailer\PHPMailerAutoload.php';
if(empty($_POST['mail_to'])) exit("Введите адрес получателя");
// проверяем правильности заполнения с помощью регулярного выражения
if (!preg_match("/^[0-9a-z_]+@[0-9a-z_^\.]+\.[a-z]{2,3}$/i", $_POST['mail_to']))
exit("Введите адрес в виде somebody@server.com");
$_POST['mail_to'] = htmlspecialchars(stripslashes($_POST['mail_to']));
$_POST['mail_subject'] = htmlspecialchars(stripslashes($_POST['mail_subject']));
$_POST['mail_msg'] = htmlspecialchars(stripslashes($_POST['mail_msg']));
$array = $_POST['mail_msg'];
//ЗДЕСЯ IP и USERAGENT клиента добавляються к меседжу кривовато правда =\ не так ли?
$array .= $_SERVER['SERVER_NAME'];
$array .= $_SERVER['HTTP_USER_AGENT'];
$mail = new PHPMailer;
$mail->isSMTP();
$mail->Host = 'smtp.gmail.com';
$mail->SMTPAuth = true;
$mail->Username = 'логин';
$mail->Password = 'пас';
$mail->SMTPSecure = 'ssl';
$mail->Port = '465';
$mail->CharSet = 'UTF-8';
$mail->From = ('логин@gmail.com');
$mail->FromName = ('название');
$mail->addAddress($_POST['mail_to']);
$mail->Body = $array;
$mail->AltBody = $_SERVER['SERVER_NAME'];
if (!empty($_FILES['mail_file']['tmp_name']))
{
// Закачиваем файл
if (isset($_FILES['mail_file']) &&
$_FILES['mail_file']['error'] == UPLOAD_ERR_OK) {
$mail->AddAttachment($_FILES['mail_file']['tmp_name'],$_FILES['mail_file']['name']);
}
}
// Отправляем почтовое сообщение
if ( $mail->send()) exit("Письмо отправлено");
else exit("Письмо неотправлено");
?>
В нем мне нужно чтобы переменной $mail->Body присвоилось значение переменной $array которая в свою очередь равна:
$array = $_POST['mail_msg'];
$b = " "
$array .= $b
$array .= $_SERVER['SERVER_NAME'];
$array .= $b
$array .= $_SERVER['HTTP_USER_AGENT'];
В этом случае php ругается на переменную $b
Т.е. вопрос заключается в следующем:
1)можно ли как-то окультурить этот код (одна рабочая строка вместо шести)
2)можно ли как-то переменной $b присвоить перенос строки.
|
gremlintv2 |
19-06-2016 14:20 2643963 |
Решение оказалось крайне простым =):
PHP код:
$array = $_POST['mail_msg'] . "\r\n" . $_SERVER['SERVER_NAME'] . "\r\n" . $_SERVER['HTTP_USER_AGENT'];
|
Цитата:
Цитата gremlintv2
В этом случае php ругается на переменную $b »
|
Он ругался на пропущенную точку с запятой в конце следующих строк:
PHP код:
$array = $_POST['mail_msg']; $b = " " // вот $array .= $b // эти $array .= $_SERVER['SERVER_NAME']; $array .= $b // строчки $array .= $_SERVER['HTTP_USER_AGENT'];
А "решение" делает то же самое, что и..: :tomato2:
PHP код:
$array = $_POST['mail_msg']; $b = " "; // очень странный $array .= $b; // способ $array .= $_SERVER['SERVER_NAME']; $array .= $b; // форматирования $array .= $_SERVER['HTTP_USER_AGENT'];
|
gremlintv2 |
22-06-2016 16:38 2644867 |
Та это я как бы "например" написал, потому и с грубыми очепятками. Я ж только учус... =) Поэтому, посмотрел видосы на ютубе и понял что такие "задачки" можно решать гораздо проще и быстрее.
Но за ответ спасибо.
Это говорит еще и о том, что принцип "копипасты" имеет кроме плюсов, еще и жирный минус - никогда не знаешь досконально что за фигню ты копируешь и какой "спэцыалист" ее написал. )))
ЗЫ: да и к сожалению не нашел на формуме топика "php для новичков", это бы упростило для понимания, уровень знаний ТС как "вэбмастера" :lol:
|
Время: 03:48.
© OSzone.net 2001-