Перейти к содержимому

Сервис обмена электронных валют


  • Закрытая тема Тема закрыта

Помогите сделать почтовую форму

#11 ZiTosS

ZiTosS
  • Пользователь
  • 5 148 сообщений
  • Репутация: 8
0

Отправлено 14 Август 2009 - 15:16

nifty5, естественно, я забыл что у вас есть значения по умолчанию. Вам тогда надо сделать 2 проверки...
То есть уже к существующей
if($_POST['bazar'] == "" || $_POST['mylo'] == "")
{
echo "<META HTTP-EQUIV='Refresh' CONTENT='0; URL=error.html'>";
exit();
}

добавить ниже
if($_POST['bazar'] == "[по_умолчанию]" || $_POST['mylo'] == "[по_умолчанию]")
{
echo "<META HTTP-EQUIV='Refresh' CONTENT='0; URL=error.html'>";
exit();
}

  • 0

#12 nifty5

nifty5
  • Пользователь
  • 5 сообщений
  • Репутация: 0

Отправлено 14 Август 2009 - 15:28

Что-то не работает...
Нужно вместо текста по_умолчанию ввести весь текст, как он есть в поле, так ведь? У меня там довольно много текста на русском. Ввёл его точно также, как в поле написано и вставил в это место, но не работает - также отправляет всё в любом случае (менялся текст или нет не видит)


  • 0

#13 ZiTosS

ZiTosS
  • Пользователь
  • 5 148 сообщений
  • Репутация: 8

Отправлено 14 Август 2009 - 15:44

nifty5, ппц, подумать сложно...
if($_POST['bazar'] == "Введите сюда текст сообщения" || $_POST['mylo'] == "E-Mail")
{
echo "<META HTTP-EQUIV='Refresh' CONTENT='0; URL=error.html'>";
exit();
}

  • 0

#14 nifty5

nifty5
  • Пользователь
  • 5 сообщений
  • Репутация: 0

Отправлено 14 Август 2009 - 15:51

ну я и говорю, я так и понял - всё сделал так - не работает. Отправляет письмо независимо от того менялся текст сообщения или нет.
С e-mail то работает, просто из за того, что если не менять там текст, то проверку на "@" и "." не проходит, а текст сообщения отправляет в любом виде или введенный или по умолчанию (если ничего не вводили)
 

конечно, хотелось бы чтобы работало с текстом по умолчанию, но в любом случае, спасибо за помощь


  • 0

#15 VMS100

VMS100
  • Пользователь
  • 11 сообщений
  • Репутация: 0

Отправлено 27 Сентябрь 2010 - 15:23

ZiTosS
У меня проблема. Если сможете, помогите.
Пробовал сделать форму обратной связи с использованием файла РНР, не получается. Кажется понял, моя Мозила не воспринимает PHP. Что мне сделать? Что встроить в Мозилу? Помогите пожалуйста! Заранее спасибо!
vms100
  • 0

#16 ZiTosS

ZiTosS
  • Пользователь
  • 5 148 сообщений
  • Репутация: 8

Отправлено 27 Сентябрь 2010 - 19:13

VMS100, тут не мозилла не понимает PHP, а скорее всего ваш хостинг не предоставляет возможностей использования PHP. У вас что за хостинг и что за тариф?
Или вы на локальном компьютере пытаетесь? Если да, то стоит ли у вас web-сервер? Если нет, то ставьте Denwer (на сайте есть полная документация)
  • 0

#17 VMS100

VMS100
  • Пользователь
  • 11 сообщений
  • Репутация: 0

Отправлено 27 Сентябрь 2010 - 19:41

Спасибо ZiTosS!
Я на домашнем компьютере делаю сайт с внутренней оптимизацией. У меня самый дешевый тариф на http://www.ht-systems.ru. Но мне надо сделать 15 стр из 30. Тогда закачаю на свой домен. В принципе из главных не выполненных задач - форма обратной связи, которую подсказали на форуме и которая не работает по выше изложенной проблеме. Мне действительно надо установить Denwer или оставить на потом, когда закачаю домен?
  • 0

#18 ZiTosS

ZiTosS
  • Пользователь
  • 5 148 сообщений
  • Репутация: 8

Отправлено 28 Сентябрь 2010 - 00:53

VMS100,

1) На хостинге поддерживается PHP - это уже хорошо.
2) Если вы делаете сайт на локальном компьютере и пытаетесь что-то сделать на PHP в вашем сайте, вам ОБЯЗАТЕЛЬНО нужно ставить виртуальный сервер, например Denwer. Поймите, без виртуального сервера браузер запрашивает страницу с локального хоста, а компьютер просто выдаёт её содержимое обратно браузеру. Чтобы скрипт PHP обрабатывался, для этого нужен сервак, к примеру Apache, который будет принимать запросы к примеру по домену http://localhost/ (что означает ваша домашняя машина) и если нужно отправлять запрошенный файл на обработку тому или иному приложению, например PHP.
Если вы установите Denwer, то всё выше перечисленное он имеет. Denwer это удобный пакет для установки web-сервера на локальный компьютер. Вам не придётся практически ничего настраивать. Нажатием парочки кнопочек вы получите у себя на локальной машине полноценный виртуальный сервак. В отличии от Denwer'a, если собирать всё вручную и самому, уйдет намного больше времени.

Вообщем если вы не поставите виртуальный сервер, хоть пытайтесь вы отправить форму, хоть нет, вам в браузер будет выдаваться код, который должен исполняться, как обычный текст.
  • 0

#19 VMS100

VMS100
  • Пользователь
  • 11 сообщений
  • Репутация: 0

Отправлено 28 Сентябрь 2010 - 09:17

Спасибо ZiTosS!
На сколько я понял у многих, которые обращались на форум с созданием форм обратной связи, такие же проблемы.
Я решил записать сайт на свой домен у хостера сейчас. В принципе другим, а возможно и мне надо поставить "заглушку" на сайт, правда как она ставится я не знаю.
Возможно мне придется еще обратиться по поводу присоединения файла. В начале я взял форму из книги на HTML и она работала на английском, на русском выдавала непонятку, я менял кодировку, но бесполезно, т.е. нужен сценарий на ПХП, который локально для этой формы поменяет кодировку на KOI8-R. Останется проблема с присоединением файла.
Еще раз спасибо за участие.
  • 0

#20 VMS100

VMS100
  • Пользователь
  • 11 сообщений
  • Репутация: 0

Отправлено 28 Сентябрь 2010 - 18:20

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

$firstname=$_POST["firstname"];
$surname=$_POST["surname"];
$email=$_POST["email"];
$datafile=$_POST["datafile"];
$sometext=$_POST["sometext"];

if (isset ($firstname))
{
$firstname = substr($firstname,0,20); //Не может быть более 20 символов
if (empty($firstname))
{
echo "<center><b>Не указано имя<p>";
echo "<a href=form.html>Вернуться и правильно заполнить форму</a>";
exit();
}
} else {
$firstname = "не указано";
}

if (isset ($surname))
{
$surname = substr($surname,0,20); //Не может быть более 20 символов
if (empty($surname))
{
echo "<center><b>Не указана фамилия<p>";
echo "<a href=form.html>Вернуться и правильно заполнить форму</a>";
exit();
}
} else {
$surname = "не указано";
}

if (isset ($email))
{
$email = substr($email,0,20); //Не может быть более 20 символов
if (empty($email))
{
echo "<center><b>Не указан e-mail<p>";
echo "<a href=form.html>Вернуться и правильно заполнить форму.</a>";
exit();
}
} else {
$email = "не указано";
}

if (isset ($datafile))
{
$datafile = substr($datafile,0,100); //Не может быть более 100 символов
if (empty($datafile))
{
echo "<center><b>Не указан путь<p>";
echo "<a href=form.html>Вернуться и правильно заполнить форму</a>";
exit();
}
} else {
$datafile = "не указано";
}

if (isset ($sometext))
{
$sometext = substr($sometext,0,1000); //Не может быть более 1000 символов
if (empty($sometext))
{
echo "<center><b>Нет текста дополнительной информации<p>";
echo "<a href=form.html>Вернуться и правильно заполнить форму</a>";
exit();
}
} else {
$sometext = "не указано";
}

$i = "не указано";

if ($firstname == $i AND $surname == $i AND $email == $i AND $datafile == $i AND $sometext == $i)
{
echo "Ошибка! Форме не были переданы параметры!";
echo "<a href=form.html>Вернуться и правильно заполнить форму</a>";
exit();
}

$to = "00@00.ru"; /*МЕНЯЕШЬ НА СВОЙ АДРЕСС!*/
$subject = "Ответ от посетителя сайта";
$subject = convert_cyr_string($theme, 'w', 'k');
$message = "<html>
<head></head>
<body>
Ваше Имя: {$_POST['firstname']}
Фамилия: {$_POST['surname']}
Адрес электронной почты: {$_POST['email']}
Фото Вашего здания: {$_POST['datafile']}
Cообщите дополнительную информацию: {$_POST['sometext']}
</body>
</html>";
$message = convert_cyr_string($message, 'w', 'k');
$headers = "Content-Type: text/html; charset=KOI8-R\r\n";

if(mail($to, $subject, $message, $headers)) {
echo "Письмо успешно отправлено";
} else {
echo "Произошла ошибка - письмо не отправлено";
}
exit();
?>
Файл: form.html
<body>

<form action="form.php" method="POST" enctype="text/plain">

<input type=hidden name="recipient" value="vms100@yandex.ru">
<input type=hidden name="subject" value="сообщение с сайта [url="http://www.str-reklam.ru/&quot;>"]http://www.str-reklam.ru/">[/url]


<p>
Ваше Имя:<br />
<input type="text" name="firstname" size="20" maxlength="20" tabindex="32" /><br />
Фамилия:<br />
<input type="text" name="surname" size="30" maxlength="30" tabindex="33" /><br />
Адрес электронной почты:<br />
<input type="text" name="email" size="30" maxlength="30" tabindex="34" /><br />
Фото Вашего здания:<br />
<input type="file" name="datafile" size="40" maxlength="500" accept="text" tabindex="35" /><br />
Cообщите дополнительную информацию:<br />
<textarea name="sometext" cols="30" rows="5" tabindex="36">Дополнительная информация: ...</textarea><br />

<input type="submit" value="Отправить" tabindex="37" />
<input type="reset" value="Отмена" tabindex="38" />
</p><hr/>

</form>
</body>

  • 0

robot

robot
  • Пользователь PRO
  • 2 652 сообщений
  • Репутация: 85


Оформление форума – IPBSkins.ru