Вопрос новичка. Понимаю, что он может быть банальным, но всё же. Как можно сократить данный код PHP?
<?php
if(!empty($_POST['name']) and !empty($_POST['phone'])){
$name = trim(strip_tags($_POST['name']));
$phone = trim(strip_tags($_POST['phone']));
mail('yourmail@yourdomain.com', 'Письмо с адрес_вашего_сайта '.$_SERVER['SERVER_NAME'],
'Вам написал: '.$name.'<br />Его номер: '.$phone,"Content-type:text/html;charset=utf-8");
$success = 'Сообщение отправлено';
echo json_encode(array ('success' => $success));
}
?>
Я бы так переписал
function GetPostVar($name) {
if (isset($_POST[$name])
return trim(strip_tags($_POST['name']));
return ''
}
$name = GetPostVar('name');
$phone = GetPostVar('phone');
if(!empty($name) and !empty($phone)) {
mail(
'yourmail@yourdomain.com',
'Письмо с адрес_вашего_сайта ' . $_SERVER['SERVER_NAME'],
'Вам написал: '.$name.'<br />Его номер: '.$phone,"Content-type:text/html;charset=utf-8"
);
$success = 'Сообщение отправлено';
echo json_encode(array ('success' => $success));
}
В чем отличие от исходного кода?
$_POST
вынесена в одну функцию. Что позволяет в дальнейшем изменять эту логику в одном месте. Например, вы решите, что strip_tags
лишнее. Тогда вы уберете эту функцию только в одном месте, а не в каждом чтении параметра!empty()
делается не для исходного значения, а для значения, возвращенного функцией GetPostVar()
. Таким образом исходная проверка для поля состоящего из одних пробелов не сработает, а моя сработаетАйфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Есть у меня html страница с формами inputС помощью JS у меня генерируются некоторые переменные
Как определить разрешение изображения и поместить изображение в массив? Windows, Qt - я знаю только этот фреймворк
Как можно узнать сложность функций из <cmath>? Например, какая асимптотика у std::exp() или std::pow()? На cppreference не нашёл