Есть такая простенькая форма в формате html:
<! DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<HTML>
<HEAD>
<TITLE>ФОРМЫ</TITLE>
<META http-equiv="Content-Type" content="text/html; charset=windows-1251">
<META name="Keywords" content="формы">
<META name="Description" content="формы в HTML "
</HEAD>
<BODY>
<h1 align="center">ФОРМЫ!</h1>
<table border="1" width="400" bgcolor="white" align="center" bordercolor="black" cellpadding="10"
cellspacing="5">
<tr>
<td>
<form action="obrabotka.php" method="POST" name="form1">
<p><strong>Введите свое ФИО</strong><br>
<input type="text" name="fio" width="20">
</p>
<p><strong>Введите свой пароль</strong><br>
<input type="password" name="pass" width="20">
</p>
<p><strong>Введите свой email</strong><br>
<input type="text" name="email" width="20">
</p>
<p><strong>Выберите формат диска</strong><br>
<input type="radio" name="format" value="dvd" checked>DVD<br>
<input type="radio" name="format" value="cd">СD<br>
</p>
<p><strong>Выберите курсы для заказа</strong><br>
<input type="checkbox" name="site" value="1" checked>Курс по созданию сайта<br>
<input type="checkbox" name="book" value="1" checked>Курс по созданию электронной книги<br>
</p>
<p><strong>Выберите тип доставки</strong><br>
<select name="delivery">
<option>Срочная</option>
<option>Обычная</option>
</select>
</p>
<p><strong>Введите адрес доставки</strong><br>
<textarea name="address" cols="40" rows="5"> </textarea>
</p>
<p>
<input type="submit" name="button" value="Отправить заказ">
</p>
</form>
</td>
</tr>
</table>
</BODY>
</HTML>
Данные, после нажатия кнопки "Отправить заказ" отсылаются на php обработчик (obrabotka.php):
<?php
if (isset('$site')) {'$site'="Да";} else {'$site'="Нет";};
if (isset('$book')) {'$book'="Да";} else {'$book'="Нет";};
$v = mail("test@test.ru", "Заказ с сайта", "На сайте был сделан заказ.\n Заказ пришел от: '$fio' \n Его пароль: '$pass' \n Его email: '$email' \n Выбрал формат диска: '$format' \n Выбрал курсы: Курс по созданию сайта: '$site' \n Курс по созданию электронных книг: '$book' \n Выбрал тип доставки: '$delivery' \n Адрес для доставки: '$address'", "Content-type:text/plain; charset = windows-1251\r\n");
if ($v == "true") {echo "Ваше сообщение успешно доставлено!";};
?>
Обработчик должен отправить письмо на test@test.ru о совершении заказа, кто заказал (ФИО), Email заказчика, его пароль, вид заказа и т.д.
Проблема в чем: письмо обработчик присылает, но переменные данные не подставляет, т.е. :
Заказ пришел от: (пусто)
Его пароль: (пусто)
и т.д.
Подскажите - ошибка в форме или обработчике? Какая ошибка? (я только учусь и это пример из справочника).
ЗЫ Проверялось на последней версии Денвера.
Спустя 6 минут, 4 секунды (9.08.2010 - 16:15) Michael написал(а):
Цитата |
(я только учусь и это пример из справочника) |
что за справочник такой?
Вместо подобного:
if (isset('$site')) {'$site'="Да";} else {'$site'="Нет";};
пиши:
$site = isset($_POST['site']) ? $_POST['site'] : '';
и так - для всех переменных делать($fio и т.д.), т.к. нельзя надеяться на включенные register_globals.
Спустя 10 минут, 47 секунд (9.08.2010 - 16:26) vovik123 написал(а):
Michael, с предложенным тобой вариантом заработали только пункты выборов курсов, а остальные пункты также пустые....
ЗЫ не заметил дальнейшего редактирования твоего сообщения - сейчас буду переделывать обработчик.
ЗЫЫ Ну а справочник... Наверное корявый попался
Спасибо.
ЗЫ не заметил дальнейшего редактирования твоего сообщения - сейчас буду переделывать обработчик.
ЗЫЫ Ну а справочник... Наверное корявый попался
Спасибо.
Спустя 12 минут, 27 секунд (9.08.2010 - 16:39) vovik123 написал(а):
Michael, спасибо еще раз!
После дописания строк на остальные переменные все заработало, как и планировалось
После дописания строк на остальные переменные все заработало, как и планировалось
Спустя 21 минута, 52 секунды (9.08.2010 - 17:00) Michael написал(а):
Если книги(современной) нет, то лучше наверное тут смотри основы того что и как делается.
Спустя 10 минут, 35 секунд (9.08.2010 - 17:11) vovik123 написал(а):
Цитата (Michael @ 9.08.2010 - 14:00) |
Если книги(современной) нет, то лучше наверное тут смотри основы того что и как делается. |
ОК!
Хорошая ссылка!