Как отредактировать обработчик, чтобы записывал в файл?

(Ответов: 3, Просмотров: 527)
  1. арбитражу по ночам Аватар для feuer81
    • Регистрация: 30.10.2011
    • Сообщений: 2,102
    • Записей в дневнике: 2
    • Репутация: 464
    • Webmoney BL: ?
    приветствую гуру кода.

    В PHP я нуб, да и в джсе особых успехов пока не достиг, но есть одна трабла - данные из формы обратной связи приходят на почту, а хотелось бы чтобы они записывались в текстовый файл на хостинге.
    Всего 2 поля: имя и емейл.

    Вот код PHP-обработчика
    PHP код:
    <?
    if($_POST['name']){ // заносим в массив значение полей, их может быть больше
      
    $znach = array(
        
    => $_POST['name'],   
        
    => $_POST['email'],
      );
      
    mail("moyemaill@dot.net""Подписка ".$_SERVER['HTTP_REFERER'], $znach[1]." ".$znach[2]);
    }
    Header("Refresh: 5; URL=".$_SERVER['HTTP_REFERER']); // спустя 5 секунд человек будет возвращён на предыдущий URL
    ?>

    <!DOCTYPE html>
    <title><? print "$znach[1], подписка завершена"?></title>
    <meta content='text/html; charset=UTF-8' http-equiv='Content-Type'/>
    <meta name="robots" content="noindex"/>
    <style>
    body {background: rgba(180,180,180,.9);}
    body > div {
      position: absolute;
      top: 50%; left: 50%;
      -ms-transform: translate(-50%, -50%); 
      -webkit-transform: translate(-50%, -50%); 
      transform: translate(-50%, -50%);
      padding: .5% 1% 1%;
      border: 1px solid rgb(100,100,100);
      font-size: 140%;
      font-weight: 600;
      text-align: right;
      text-shadow: -1px -1px #666;
      color: rgb(240,240,240);
      background: rgb(150,150,150) linear-gradient(rgb(100,100,100), rgb(170,170,170));
    }
    label:hover {
      color: #dbeaf9;
      cursor: pointer;
    }
    body > div > div {padding-top: 3%;}
    </style>

    <div>
    <label title="Продолжить">✕</label>
    <div><? print "$znach[1]"?>, вы успешно подписались</div>
    </div>

    <script> // нажав на label посетитель вернётся на предыдущую страницу, где заполнял форму
    document.getElementsByTagName('label')[0].onclick = function() {
      window.location.href="<? print $_SERVER['HTTP_REFERER']; ?>"
    }
    </script>
    Данный код отлично справляется со своей задачей - отправкой писем с данными из двух полей в форме обратной связи на мое мыло...

    Что нужно поправить, чтобы он писал в файл?
    • 0
  2. Quae res omnia Аватар для Coder
    • Регистрация: 29.01.2015
    • Сообщений: 826
    • Репутация: 304
    Примерно так - файл для записи там же, где обработчик:

    Скрытый текст (вы должны войти под своим логином или зарегистрироваться и иметь 1 сообщение(ий)):
    У вас нет прав чтобы видеть скрытый текст, содержащийся здесь.
    • 1

    Спасибо сказали:

    feuer81(19.09.2016),
  3. Студент
    • Регистрация: 05.07.2015
    • Сообщений: 82
    • Репутация: 16
    Или с использованием file_put_contents: http://php.net/manual/ru/function.file-put-contents.php
    • 1

    Спасибо сказали:

    feuer81(06.10.2016),
  4. арбитражу по ночам Аватар для feuer81
    • Регистрация: 30.10.2011
    • Сообщений: 2,102
    • Записей в дневнике: 2
    • Репутация: 464
    • Webmoney BL: ?
    Coder,первый вариант каждый раз перезаписывает, а не дописывает (((

    ---------- Сообщение добавлено 23:08 ---------- Предыдущее 23:06 ----------

    второй вариант норм, только как сделать, чтобы новая запись добавлялась с новой строки?


    разобрался. Добавил строку \r\n
    Последний раз редактировалось feuer81; 21.10.2016 в 01:15.
    • 0

Похожие темы

Темы Раздел Ответов Последний пост
Написать скрипт, который забирал бы данные с одного сервиса и записывал в файл на хостинге. Есть рабочий пример.
Создание сайтов 3 24.10.2013 21:56
Не работает обработчик формы
Web программирование 2 25.03.2013 14:15
Не могу отредактировать файл header.php
WordPress 15 18.01.2012 22:23
Как отредактировать на ftp сервере файл по адресу concrete/themes/dart_chocolate/main.css (concrete5 - open source CMS) через FileZilla
Web программирование 6 24.08.2011 22:42

У кого попросить инвайт?

Вы можете попросить инвайт у любого модератора:

Информеры