[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Простая форма обратной связи
Джиган
Всем Доброго времени суток. Вкратце опишу суть вопроса. Имеется следующий код:


<?php
if (isset ($_POST['message'])) {
$name = @ trim ($_POST['name']);
$age = @ trim ($_POST['age']);
$hobby = @ trim ($_POST['hobby']);
$education = @ trim ($_POST['education']);
$email = @ trim ($_POST['email']);
$phone = @ trim ($_POST['phone']);
$message = @ trim ($_POST['message']);
if ($name or ! $age or ! $hobby or ! $education or ! $email or ! $phone or ! $message) echo ('<p style="color: red">Необходимо заполнить все поля</p>');//программа phpDesigner ругается на данную строку, а конкретно на символ '!'
else { mail ("fanclub@timatiomsk.ru",
"Сообщение с сайта (отправитель: $name)",
"Возраст отправителя: $age",
"Хобби отправителя: $hobby",
"Образование отправителя: $education",
"Контактный email отправителя: $email",
"Контактный телефон отправителя: $phone",
"$message \n\n");
echo ('<p style="color: green">Ваше сообщение получено, спасибо!</p>');
$_POST['name'] = $_POST['contact'] = $_POST['message'] = '';
}
}

?>
<form method="POST">
<
p>Ваше имя:</p>
<
input name="name" value="<?=@$_POST['name'];?>">
<
p>Ваш возраст:</p>
<
input name="age" value="<?=@$_POST['age'];?>">
<
p>Ваше образование:</p>
<
input name="education" value="<?=@$_POST['education'];?>">
<
p>Ваше хобби:</p>
<
input name="hobby" value="<?=@$_POST['hobby'];?>">
<
p>Ваш e-mail:</p>
<
input name="email" value="<?=@$_POST['email'];?>">
<
p>Контактный номер телефона:</p>
<
input name="phone" value="<?=@$_POST['phone'];?>">
<
p>Дополнительно о себе:</p>
<
textarea name="message"><?=@$_POST['message'];?></textarea>
<
p><input type="submit" value=" Отправить "></p>
</
form>


Попробовал исправить проблемную строку таким образом (phpDesigner перестал выдавать ошибку):

if ($name || $age || $hobby || $education || $email || $phone || $message) echo ('<p style="color: red">Необходимо заполнить все поля</p>');

Однако, когда проверял форму обратной связи на работоспособность выяснилось, что даже при всех заполненных всплывает предупреждение, что необходимо заполнить все поля и она никуда не отправляется.
В чем проблема? Заранее большое спасибо за помощь!



Спустя 6 минут, 27 секунд (5.08.2011 - 13:34) Winston написал(а):
Цитата (Джиган @ 5.08.2011 - 13:28)
Попробовал исправить проблемную строку таким образом

Теперь если у тебя хоть одна переменная будет true тебе выдаст, сообщение, чтобы заполнил поля.
Мой совет.
Цитата (Джиган @ 5.08.2011 - 13:28)
<input type="submit" value=" Отправить ">

Добавь имя кнопке
<input type="submit" name="go" value=" Отправить ">

И потом проверяй
Свернутый текст
if(isset($_POST['go']))
{
if ($name || !$age || !$hobby || !$education || !$email || !$phone || !$message)
die("<p style='color: red'>Необходимо заполнить все поля</p>");
else { mail ("fanclub@timatiomsk.ru",
"Сообщение с сайта (отправитель: $name)",
"Возраст отправителя: $age",
"Хобби отправителя: $hobby",
"Образование отправителя: $education",
"Контактный email отправителя: $email",
"Контактный телефон отправителя: $phone",
"$message \n\n");
echo ('<p style="color: green">Ваше сообщение получено, спасибо!</p>');
$_POST['name'] = $_POST['contact'] = $_POST['message'] = '';
}
}

Спустя 3 часа, 18 минут, 53 секунды (5.08.2011 - 16:53) Джиган написал(а):
thanx!
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.