Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 03.11.2009, 10:26   #1
Wenfor
Пользователь
 
Регистрация: 03.11.2009
Сообщений: 11
По умолчанию Masterhost и форма для отправки письма

Добрый день.
Столкнулся с такой проблемой: зарегистрировал домен на мастерхост.ру, залил сайт. Но форма для отправки письма не работает. Выдает ошибку что незаполненно одно из полей. Хотя на самом деле все заполненно и скрипт вроде без ошибок написан.
Подозреваю что это связано с настройками самого Мастерхоста, но мне до сих пор не удалось устранить проблему. Бьюсь уже две недели.
Сам скрипт я прикрепил к сообщению.
Подскажите в чем может быть проблема.
Вложения
Тип файла: zip Форма для отправки письма.zip (1.5 Кб, 31 просмотров)
Wenfor вне форума Ответить с цитированием
Старый 04.11.2009, 00:32   #2
motorway
Участник клуба
 
Регистрация: 28.06.2009
Сообщений: 1,950
По умолчанию

Дело не в хостинге. Переменная $name не определена. Там должно быть substr($_POST['name'],0,100);
motorway вне форума Ответить с цитированием
Старый 04.11.2009, 16:57   #3
Wenfor
Пользователь
 
Регистрация: 03.11.2009
Сообщений: 11
По умолчанию

motorway, можно чуть-чуть подробней?
Я просто PHP очень плохо знаю, а эту форму для одной хорошей знакомой делаю. Поэтому мучаюсь с ним уже две недели
Wenfor вне форума Ответить с цитированием
Старый 05.11.2009, 18:24   #4
motorway
Участник клуба
 
Регистрация: 28.06.2009
Сообщений: 1,950
По умолчанию

У вас в проверке, пустая ли переменная с именем, стоит:
Код:
if (empty($name)) {			
			echo "<center><b>Не указано ФИО!<p>";
			echo "<a href=\"order.php\">Вернуться и правильно заполнить форму</a>";
			exit;
		}
Как мы видим ранее из
Код:
  $name = substr($name,0,100);
,
переменная с именем $name действительно пустая, т.к. нигде ранее ей не было присвоено значение.

Нужно было заменить это на
Код:
$name = substr($_POST['name'],0,100);
При этом обычно нужны еще всякие проверки на допустимость данных и т.п.
И далее у вас везде так: например,
Код:
$age = substr($age,0,100);
Переменной $age присваивается подстрока от несуществующей строки $age. Нужно же писать $_POST['age'] и т.п.
Замените везде это на $_POST['...'] в соответствующих местах.
motorway вне форума Ответить с цитированием
Старый 05.11.2009, 23:14   #5
Wenfor
Пользователь
 
Регистрация: 03.11.2009
Сообщений: 11
По умолчанию

motorway, огромное спасибо вам за помощь. Теперь скрипт работает прекрасно.
Есть конечно мелкие недостатки, такие как: не задана кодировка письма и когда одно из полей не заполнено кликаешь "Вернуться и правильно заполнить форму", то поля очищаются. Но с ними можно смириться.
Еще раз большое вам спасибо.
Wenfor вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Форма для отправки почты Михаил Юрьевич PHP 6 12.08.2009 16:56
Как использовать несколько edit для отправки письма eldar Работа с сетью в Delphi 2 22.03.2009 20:04
Форма отправки e-mail Черничный PHP 7 11.11.2008 03:36
Microsoft Office Outlook : Перехват письма при отправки с определенного ящика Talia Софт 0 11.12.2007 14:28