У меня есть форма с более чем 20 полями ввода. Функция mail
PHP не работает, так как она может принимать только 5 параметров. Как отправить эти значения на мой адрес электронной почты?
$to = 'myemail@mydomain.com'; $subject = 'form values'; $message = ''; foreach( $_POST as $key => $ value ) { $message .= $key . ' => ' . $value . '<br>'; } mail( $to, $subject, $message);
Параметры в функции PHP mail () имеют разное значение. Они не являются данными, отправленными пользователю. Попробуйте использовать следующий скрипт, и если он работает, отформатируйте $message
соответствующее вашим требованиям.
$email = 'rec@example.com'; $subject = 'Subject'; $message = print_r($_POST,true); mail($email,$subject,$message);
Более подробную информацию можно найти @ http://php.net/manual/en/function.mail.php
Ну, я не знаю, какие поля ввода у вас есть, но все они могут быть переданы в поле «subject». Однако, если у вас достаточно сложная электронная почта для отправки, и вам действительно нужно все писать самостоятельно, вы должны заглянуть в PEAR .
Таким образом, либо добавьте 20 полей ввода в тему $subject .= 20things
либо используйте инструмент, который по своей сути безопасен, не забудьте избежать ввода и проверки с помощью regex.