Помощник
|
Как сделать форму обратной связи на сайте |
Kolovrat_hb
|
Сообщение
#1
|
||
|
|
||
|
|||
unfixed |
12.5.2012, 22:45;
Ответить: unfixed
Сообщение
#2
|
|
Более того, теги <title> добавлять тоже не надо.
В упрощенном виде второй пункт выглядит так. <?php // Если срабатывает кнопка send if (@$_POST['send']) { // Получаем данные формы $name = $_POST['name']; $mail = $_POST['mail']; $theme = $_POST['theme']; $text = $_POST['text']; $string = $name."\n". $mail."\n". $theme."\n". $text; // Название каждого файла — дата и время поступления сообщения $filename = date("d-m-Y H.i.s").'.txt'; // Записываем каждое сообщение в файл $file = fopen($filename, 'w+'); fwrite($file, $string); fclose($file); } ?> Только не стоит забывать обрабатывать полученные переменные функциями типа trim, htmlspecialchars. т.е. получится "$name = htmlspecialchars(trim( $_POST['name']));". Переменные записываются в файл каждая с новой строки, поэтому потом будет удобно считывать их функцией file. |
|
|
Kolovrat_hb
|
Сообщение
#3
|
|
огромнейшее спасибо =) вот такой вот вопросик =) я вот сидел сам пробовал сделать упрощенный вариант чтоб именно понять работу с файлами и написал эту вещь:
<? $name = $_post['name']; $mail = $_post['mail']; $theme = $_post['theme']; $text = $_post['text']; $file = "Тема сообщения: ".$theme."/n Имя: ".$name."/n Майл: ".$mail."/n/n".$text; $feed = fopen('counter.txt', 'w'); $test = fwrite($feed, $file); if ($test) echo("Данные успешно занесены!"); else echo("ОШИБКА!!!"); fclose($feed); ?> так вот, файл не создавался а проверка в конце срабатывала так как будто все записалось (ну в том смысле что выводилось сообщение "Данные успешно занесены!"). потом я еще попробовал переменную $file вывести после того сообщения и оказалось что в нее не вставились значения переменных $name $text и т.д. не знаете ли почему так получилось? и если не сложно, можно ли поподробней про "Только не стоит забывать обрабатывать полученные переменные функциями типа trim, htmlspecialchars. т.е. получится "$name = htmlspecialchars(trim( $_POST['name']));"." P.S. попробовал сейчас вставить ваш код себе и он тоже не работает... просто не создает файлик =( может быть какие то базы данных не обновлены??? я пользуюсь программой openserver, недавно было какое то обновление и я его установил |
|
|
unfixed |
13.5.2012, 14:31;
Ответить: unfixed
Сообщение
#4
|
|
Переменные не передались, потому что глобальные переменные типа $_POST, $_GET, $_SERVER пишутся заглавным буквами. И, кстати, символ перевода строки "\n", а не "/n".
Может, с формой что-то не так? Вот весь код, который у меня работал: <?php
error_reporting(E_ALL); // Если срабатывает кнопка send if (@$_POST['send']) { // Получаем данные формы $name = $_POST['name']; $mail = $_POST['mail']; $theme = $_POST['theme']; $text = $_POST['text']; $string = $name."\n". $mail."\n". $theme."\n". $text; // Название каждого файла — дата и время поступления сообщения $filename = date("d-m-Y H.i.s").'.txt'; // Записываем каждое сообщение в файл $file = fopen($filename, 'w+'); fwrite($file, $string); fclose($file); } ?> <form action="<?=$_SERVER['PHP_SELF'];?>" method="post"> <input type="text" name="name" placeholder="name" /> <input type="text" name="mail" placeholder="mail" /> <input type="text" name="theme" placeholder="theme" /> <input type="text" name="text" placeholder="text" /> <input type="submit" name="send" /> </form> |
|
|
Kolovrat_hb
|
Сообщение
#5
|
|
спасибо, сейчас попробую. я думал что они не чувствительны к регистру. пожалуйста, при возможности не покидайте форум. мне срочно надо это доделать, боюсь что вдруг опять что то не так пойдет. заранее благодарен
что значит это: error_reporting(E_ALL); Все! Большое спасибо! Заработало! Теперь буду разбираться с кодом, попытаюсь понять почему до этого не работало и т.д. все же просьба растолкуйте русским языком для чего error_reporting(E_ALL); . я нашел в нэте описание, но там как то не понятно |
|
|
yury_mw |
13.5.2012, 16:02;
Ответить: yury_mw
Сообщение
#6
|
|
что значит это: error_reporting(E_ALL); error_reporting() — это функция обработки ошибок.Конкретно команда error_reporting(E_ALL); указывает интерпретатору PHP сообщать обо всех ошибках в вашем коде и выводить все предупреждения, если соответствующие ошибки в коде обнаружатся. |
|
|
Kolovrat_hb
|
Сообщение
#7
|
|
тоесть если эту комманду не поставить они не будут выводиться? но ведь если не ошибаюсь у меня выводились ошибки до этого
Я немного подправил PHP код, но вся суть осталась. Просто оформил как мне удобней будет. И переводы строки не работают. Гляньте скрипт пожалуйста: <?php |
|
|
yury_mw |
13.5.2012, 18:13;
Ответить: yury_mw
Сообщение
#8
|
|
тоесть если эту комманду не поставить они не будут выводиться? но ведь если не ошибаюсь у меня выводились ошибки до этого Будут ли выводиться сообщения об ошибках и какие зависит от настроек PHP, команда error_reporting задает это в обход этих настроек.И переводы строки не работают. Переводы строк работают, но не для windows, который считает, что для новой строки одного символа новой строки "n" не достаточно и в добавок хочет еще символ возврата каретки "r".Т.е. если хочется увидеть переводы строк в стандартном win-блокноте, используйте вместо "n" — "rn": $string = "Имя: ".$name."rn"."EMail: ".$mail."rn"."Тема: ".$theme."rnrn".$text;
|
|
|
Kolovrat_hb
|
Сообщение
#9
|
|
Спасибо большое всем =) все работает =) но появился еще один вопрос как делать перенаправление на определенный адресс???
|
|
|
Kolovrat_hb
|
Сообщение
#10
|
|
блин =) и еще одна проблемка думал это легко исправить будит, но не получилось файл с данными создается в том же каталоге где находится php файл с кодом, а мне надо на один каталог раньше в другую папку. как мне это указать? пробовал двумя способами и не работает
|
|
|
|
Похожие темы
Тема | Ответов | Автор | Просмотров | Последний ответ | |
---|---|---|---|---|---|
Странный трафик на сайте длительное время | 34 | TABAK | 9158 | 24.4.2024, 23:38 автор: Arsenwenger |
|
Как в пушсетках покупают по 100-200 тысяч кликов за день? | 2 | Boymaster | 719 | 24.4.2024, 17:52 автор: Boymaster |
|
CryptoCloud — прием USDT, BTC, ETH, LTC на любом сайте | 37 | CryptoCLoud | 10832 | 24.4.2024, 15:37 автор: CryptoCLoud |
|
Боты могут делать пушподписки на моём сайте? | 3 | Megaspryt | 993 | 24.4.2024, 5:18 автор: Skyworker |
|
Как вы отдыхаете от работы за компом | 151 | adw-kupon.ru | 19905 | 23.4.2024, 13:52 автор: Vmir |
Текстовая версия | Сейчас: 26.4.2024, 2:34 |