Как поставить отметку времени и даты в php-скрипте для формы?

#php #html

#php #HTML

Вопрос:

У меня есть php-скрипт, который работает с моей HTML-разметкой для отправки сведений о форме на адрес электронной почты, а также сохранения сведений о форме в csv-файле.

Это код для моего php: РЕДАКТИРОВАТЬ

 <?php
            $subject = $_POST['QSpeed Inquiry - '];
            $name = $_POST['name'];
            $email = $_POST['EMAIL'];
            $comments = $_POST['comments'];
            $checkbox = $_POST['checkbox'];
            $date = date(r);

            $fp = fopen("comments.csv","a");
            $list = array($name,$email,$comments,$date);
            fputcsv($fp, $list);
            rewind($fp);
            fclose($fp);

            $strTo = "email@domain.com";
            $strSubject = "QSpeed inquiry -";
            $strFrom = trim($_POST["QSpeed Inquiry - name"]);
            $str_content = "From". trim($_POST["name"]) . "rn" . "Email: " . trim($_POST["EMAIL"]) . "rn" . "Comments: " . trim($_POST["comments"]) . "rn" ;
            mail($strTo,$strFrom,$strSubject,$str_content); 

            echo ("<SCRIPT LANGUAGE='JavaScript'></SCRIPT>");
            echo "<script>alert(' Message was sent successfully. Thank you! ')</script>";
            echo "<script>window.history.go(-1)</script>";      

?>
  

Я хочу добавить отметку времени и даты в файл CSV для скрипта. Как я могу получить отметку времени и даты и сохранить ее в файле CSV.

Комментарии:

1. rewind(); fclose() все вежливо и прочее, но дни проката видеокассет закончились… вам не нужно перематывать файл, который вы собираетесь закрыть.

2. sarahjanetrading.com/js/j/form.php Это мой сценарий. Это не работает.

3. @James date(1); — это не то, что вы здесь хотите. Вы просматривали date() руководство? Замените эту строку на date('F m'); и посмотрите, что произойдет.

4. Спасибо. Тема не отображается. Он отображается как NO Subject. Я не знаю, почему.

5.@James Ах, хороший призыв к использованию date(r); . Поместите тему вторым, а не третьим. mail( $to, $subject, $message, $headers ) $headers должно содержать ваше значение ‘from’. РЕДАКТИРОВАТЬ: я понимаю, что вы сейчас говорите, извините. Вы перепутали регистр: $subject = $_POst['QSpeed Inquiry - ']; попробуйте изменить это на POST — переменные в PHP чувствительны к регистру.

Ответ №1:

С какими именно частями у вас возникли проблемы? Чтобы получить метку времени, посмотрите на [ date][1] . Сохраните ее в переменной, затем поместите ее в $list массив перед записью в CSV.

Ответ №2:

Попробуйте установить это:

 $time = date("d/m/y : H:i:s", time());
  

И посмотрите, приведет ли это к тому, что вы хотели. Если нет, изучите руководство и измените вывод на основе доступных опций для функций. У меня такое чувство, что вам было бы очень полезно прочитать документацию по date() и time() . Они могут сбивать с толку снаружи, и их может быть сложно использовать, но это очень простое использование, которое вы можете и должны понять.

Ответ №3:

Прежде всего — в вашем параметре $strTo отсутствуют начальные кавычки («me@domain.com «)

Чтобы получить временную метку UNIX с помощью php, просто используйте функцию time()

Итак, по вашему синтаксису вам просто нужно изменить

 $list = array($name,$email,$comments);
  

Для

 $list = array($name,$email,$comments, time());
  

Шай.

Комментарии:

1. В PHP нет timestamp() функции — вы имеете в виду time()

2. Аррх, мой плохой 🙂 Спасибо за предупреждение.