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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 10.01.2012, 02:50   #1
RIOs
Пользователь
 
Регистрация: 28.12.2011
Сообщений: 49
По умолчанию Вывод данных формы

Всем привет.
Есть скрипт, который принимает данные введенные пользователем.

Не знаю как сделать так, чтобы все данные формы уходили в текстовый файл, а пользователю показывалось сообщение "Спасибо" и чтобы ему не показывались данные текстового файла.

Код:
<html>
 <body>
 <?
   if ($_SERVER['REQUEST_METHOD'] == 'POST') {
     echo '<h1>Привет, <b>' . $_POST['name'] .  Спасибо!'</b></h1>!';
   }
 ?>
 <form method="POST" action="<?=$_SERVER['PHP_SELF']?>">
   Введите Ваше имя: <input type="text" name="name">
   <br>
   <input type="submit" name="okbutton" value="OK">
 </form>
 </body>
 </html>
RIOs вне форума Ответить с цитированием
Старый 10.01.2012, 07:05   #2
psycho-coder
Участник клуба
 
Аватар для psycho-coder
 
Регистрация: 06.04.2009
Сообщений: 1,524
По умолчанию

Запиши в файл и сделай редирект, на туже страницу
Код:
header("Loaction: form.php");
psycho-coder вне форума Ответить с цитированием
Старый 10.01.2012, 09:04   #3
RIOs
Пользователь
 
Регистрация: 28.12.2011
Сообщений: 49
По умолчанию

А как это будет в общем выглядеть? Я просто не программист.
RIOs вне форума Ответить с цитированием
Старый 10.01.2012, 18:37   #4
Русtam
Пользователь
 
Регистрация: 27.06.2011
Сообщений: 60
По умолчанию

Код:
<?
if(isset($_POST['name'])){
  $post = $_POST['name'];
  $file = fopen('name.txt','w') or die("Фаил не может быть открытым  ОШИБКА $php_errormsg");
  fwrite($file,$post);
  fclose($file)or die("ОШИБКА $php_errormsg");
  }
?>
<html>
 <body>
 <?
   if ($_SERVER['REQUEST_METHOD'] == 'POST') {
     echo '<h1>Привет, <b>' . $_POST['name'] .  'Спасибо!</b></h1>!';
   }
 ?>
 <form method="POST" action="<?=$_SERVER['PHP_SELF']?>">
   Введите Ваше имя: <input type="text" name="name">
   <br>
   <input type="submit" name="okbutton" value="OK">
 </form>
 </body>
 </html>
Можно так сделать но это скорее всего не качественный код)) просто как вариант.
Русtam вне форума Ответить с цитированием
Старый 10.01.2012, 22:13   #5
RIOs
Пользователь
 
Регистрация: 28.12.2011
Сообщений: 49
По умолчанию

Чем он не качественный?
RIOs вне форума Ответить с цитированием
Старый 10.01.2012, 23:10   #6
Русtam
Пользователь
 
Регистрация: 27.06.2011
Сообщений: 60
По умолчанию

Точно сказать не могу (написал его я, а опыта у меня маловато) так что скорее всего такой код можно было написать проще, безопаснее,грамотнее. А вообще смотря для каких целей его использовать, если просто как пример для себя, то он наверно сгодится.
Русtam вне форума Ответить с цитированием
Старый 10.01.2012, 23:41   #7
pompiduskus
юзер как все
Участник клуба
 
Аватар для pompiduskus
 
Регистрация: 10.01.2012
Сообщений: 1,586
По умолчанию

Привет можно вот так !

................................... .............
Код HTML:
<form name="form" method="post" action=""> 
<input type="text" name="name">
<input type="text" name="email">
<textarea name="message" rows="6" cols="55"></textarea>
<input type="submit" name="button" value="Send">
</form>
----------------------------------
PHP код:
$filename "datafile.dat";
$separator '<|-|>';

if(
$_POST
{
        
    if ( (!empty(
$_POST['name'])) &&  (!empty($_POST['email'])) && (!empty($_POST['message'])))
    {
        
        
$name htmlspecialchars($_POST['name']);
        
$email htmlspecialchars($_POST['email']);
        
$message str_replace("\r\n""<br>"htmlspecialchars($_POST['message']));
        
$arr = array($name$email$message);     
        
$new_message implode($separator$arr) . "\r\n";
            
            
        
$fp fopen($filename,"a+");
        
fwrite($fp$new_message);
        
fclose($fp);

    }
    else echo 
'text';
}
else echo 
'text';

echo
'<br />'
=================================== =
все данные будут записаны в одну строку в файле datafile.dat
......
В одну строку потому что потом легче доставать будет
<Дзен - Вся вселенная в тебе > | Резюме: https://ch3ll0v3k.github.io/CV/
pompiduskus вне форума Ответить с цитированием
Старый 11.01.2012, 00:47   #8
RIOs
Пользователь
 
Регистрация: 28.12.2011
Сообщений: 49
По умолчанию

Спасибо!
а возможно сделать так, чтобы на почту отправлялось в нормальной кодировке, а пользователю выводилось бы сообщение "Спасибо" ?
RIOs вне форума Ответить с цитированием
Старый 11.01.2012, 09:07   #9
pompiduskus
юзер как все
Участник клуба
 
Аватар для pompiduskus
 
Регистрация: 10.01.2012
Сообщений: 1,586
По умолчанию

Что отправлялось ? Содержимое файла ?
<Дзен - Вся вселенная в тебе > | Резюме: https://ch3ll0v3k.github.io/CV/
pompiduskus вне форума Ответить с цитированием
Старый 11.01.2012, 11:52   #10
RIOs
Пользователь
 
Регистрация: 28.12.2011
Сообщений: 49
По умолчанию

Просто все данные из формы отправлялись бы на почту сразу, а не записывались бы в текстовый файл. А пользователю бы выводилось сообщение "Спасибо!"
RIOs вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
как совместить вставку данных формы с копированием данных самого листа? serikov Microsoft Office Excel 0 11.10.2011 10:20
Как сделать вывод данных после всего ввода данных. Donatello Общие вопросы C/C++ 6 16.01.2011 16:32
вывод данных из формы в формате "dd.mm.yy" serikov Microsoft Office Excel 3 07.07.2010 08:59
Вывод отчёта на основе данных формы katrina-n Microsoft Office Access 6 30.11.2009 06:58
MS Access вывод отчёта на основе данных формы katrina-n Помощь студентам 0 29.11.2009 18:40