Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Название темы: Общие вопросы по коду
Показать сообщение отдельно

Аватара для Coutty

Кот Ти


Сообщения: 7318
Благодарности: 1204

Профиль | Отправить PM | Цитировать


Цитата Ingolder:
ssage:\n\n$$_POST['form_message']") »
В этом куске кода есть ошибка - два доллара.
Но вообще я бы не стал так явно использовать эти переменные. Я бы написал примерно так:
PHP код: Выделить весь код

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 не будет. Вот вам в теле письма ничего и не приходит.
Это сообщение посчитали полезным следующие участники:

Отправлено: 18:38, 21-08-2009 | #175

Название темы: Общие вопросы по коду