Консультация № 94111
06.07.2007, 01:53
0.00 руб.
0 4 4
Доброго времени суток. Помогите пожлста. Имеется скрипт php, результатом работы которого является файл, содержащий различные данные, вводимые пльзователями в формы.
Вопрос: как записать в файл дату заполнения форм. Спасибо.

Обсуждение

Неизвестный
06.07.2007, 02:19
общий
это ответ
Здравствуйте, Strimul!

Сначала нужно определить дату функцией date():
Например, $date=date("здесь_указывается_параметр")

Параметры:
d - день месяца, от 01 до 31
j - день месяца, от 1 до 31
D - день недели, от Mon до Sun
l - день недели, от Monday до Sunday
m - месяц, от 01 до 12
n - месяц, от 1 до 12
F - месяц, от January до December
M - месяц, от Jan до Dec
h - час, от 01 до 12
H - час, от 01 до 24
i - минута, от 01 до 59
s - секунда, от 01 до 59
a - am или pm
A - AM или PM
Y - год, 4 цифры
y - год, 2 цифры

Это основные параметры, но есть и некоторые другие.
Пример с описанием в приложении.

Приложение:
<?php$time=date("h:i:M:d");//определяем время$rec="$time\n";//создаем записываемую в файл строку$file="myfile.dat";//определяем файл для записи$fp=fopen($file,"a+");//открываемflock($fp,2);//блокируем доступ к файлу во время записиfwrite($fp,$rec);//записьflock($fp,3);//снимаем блокировкуfclose($fp);//закрываем файл?>
Неизвестный
06.07.2007, 12:06
общий
это ответ
Здравствуйте, Strimul!
Если я правильно Вас понял, то Вы хотите чтобы после субмита формы вам было передано дату когда эта форма была засубмичена. Для етого просто делаете так как написано в приложении.
Теперь после субмита формы в масиве $_POST будет находится дата сабмита формы ($_POST[‘dateField‘])

Приложение:
<script language="javascript" >function onSubmit(){var dt = new Date();var retStr = "";retStr = dt.getYear()+"-"+dt.getMonth()+"-"+dt.getDay()+" "+dt.getHours()+":"+dt.getMinutes()+":"+dt.getSeconds(); // формируем текущую датуvar idDate = document.getElementById(‘dateField‘);idDate.value = retStr;return true;}</script><form name="submitForm" method="post" onSubmit="return onSubmit();"><input type="hidden" name="dateField" id="dateField" value="" ></form>
Неизвестный
06.07.2007, 15:07
общий
это ответ
Здравствуйте, Strimul!

В принципе на вопрос уже ответили, но на самом деле вариант Алексея Геннадьевича (получение текущей даты на сервере ф-цией date()) более правильный. Передавать дату через пост тоже вариант, но поскольку javascript работает на клиенте, то и время будет такое, как установлено на машине у клиента - т.е. время может быть неправильное (как просто неправильное, так и сознательно измененное клиентом чтобы добиться некорректной работы скрипта). И потом, зачем передавать лишние данные?.. Так что на мой взгляд, у варианта с джава-скриптом есть только один плюс - ты получишь время клиента с учетом его часового пояса, если это конечно для тебя актуально...
Неизвестный
07.07.2007, 14:46
общий
это ответ
Здравствуйте, Strimul!
В PHP есть функция даты date(); пусть в переменную $d будем записывать дату:
$d=date("Y.m.d - H:i:s") ;
Это дата в формате: гггг.мм.дд - чч.мм.сс.
А далее записываем ее в файл вместе со всеми остальными данными из файла.
Удачи
Форма ответа