Цитата Ingolder:
ssage:\n\n$$_POST['form_message']") »
|
В этом куске кода есть ошибка - два доллара.
Но вообще я бы не стал так явно использовать эти переменные. Я бы написал примерно так:
PHP код:
![Выделить весь код](images/misc/selectcode.png)
mail($email, $subject, "From: " . $_POST['form_name'] . "\nMail: " . $_POST['form_mail'] . "\nMessage:\n\n" . $_POST['form_message']);
Обратите внимание на кавычки.
Вы, видимо, учились php по старым книжкам. Раньше по умолчанию в php.ini была настройка register_globals = "on". И тогда все переменные из формы можно было использовать напрямую - как вы используете в функции mail(). Но потом выяснилось, что это огромная дыра в безопасности, и эту опцию стали отключать. Поэтому когда вы передаёте параметры методом post, все они попадают в массив $_POST. Для get - $_GET. Можете в начале скрипта написать
print_r($_POST); чтобы увидеть его содержимое. Так вот, содержимое поля form_name будет получено скриптом под именем $_POST['form_name']. Разумеется, просто переменной $form_name не будет. Вот вам в теле письма ничего и не приходит.