#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. Аррх, мой плохой 🙂 Спасибо за предупреждение.