Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Передача значения переменной JavaScript в PHP
 
 автор: mehelson   (03.08.2008 в 08:18)   письмо автору
 
 

Добрый, Вам, Уважаемые!

При добавлении информации в базу, необходимо дату добавления (размещения)
использовать клиентскую, т.к. не всегда текущая дата совпадает с желаемой,
но явно изменять дату размещения нельзя. И вот чтобы схитрить нужно сменить
системную дату на клиентской машине.
Дату производим при помощи JavaScript в файле с формой:

<script language="JavaScript" type="text/javascript">
d=new Date();
monthnum=new Array("01","02","03","04","05","06","07","08","09","10","11","12");
TODAY = d.getFullYear()+"-"+monthname[d.getMonth()] + "-" + 0+d.getDate();

//и передаем переменную дальше обработчику
window.location.href = "http://localhost/admin/torgi/add.php?today="+TODAY;
</script>

В обработчике проверка на правильность введенных данных и передаются они методом POST...

Так вот как быть ? Сразу передается GET параметр и все...
дальше соответсвенно сообщение о незаполненных полях.
Может есть другой способ передать переменную в PHP?

Спасибо!

  Ответить  
 
 автор: sim5   (03.08.2008 в 08:59)   письмо автору
 
   для: mehelson   (03.08.2008 в 08:18)
 

Вы сами хоть понимаете, что спросили?
"передаются они методом POST..., Сразу передается GET параметр и все..."
Вы чего хотите - отправить форму методом POST в окно? Вы уверены, что ваш JS верно написан?

  Ответить  
 
 автор: mehelson   (03.08.2008 в 11:19)   письмо автору
 
   для: sim5   (03.08.2008 в 08:59)
 

:) я всего лишь пытался передать суть проблемы... получилось коряво...
давайте еще раз попытаюсь.

Есть форма, после заполнения которой, данные передаются методом POST обработчику,
в котором эти самые данные проверяются. В том же файле, с формой, есть ява код про дату
(кстати рабочий, хотя может и не совсем верно написан), в котором результат передается этому же обработчику, но методом GET
Может быть (скорее всего) я чего-то не допонимаю, но вопрос был задан конкретный:
о текущей дате на стороне клиента и(или) как передать значение переменной из ява в PHP.
Плюс мои пробы...
В итоге, как я уже говорил ни хрена не выходит... в обработчик поступает только переменная
из явы...

Спасибо!

  Ответить  
 
 автор: sim5   (03.08.2008 в 11:25)   письмо автору
 
   для: mehelson   (03.08.2008 в 11:19)
 

Ну тогда какие проблемы? Пропишите в атрибуте action кроме скрипта обработчика, переменную и ее параметр (вашу дату), вы ее и получите методом GET. Но почему и ее не передать как POST, передав ее значение скрытому полю, например? А в JS у вас ошибка - имя объявленного массива не совпадает с его вызовом.

  Ответить  
 
 автор: mehelson   (03.08.2008 в 11:34)   письмо автору
 
   для: sim5   (03.08.2008 в 11:25)
 

> А в JS у вас ошибка - имя объявленного массива не совпадает с его вызовом.
:) Да...верно, но это только в посте... забыл поправить.

А не могли бы Вы поподробней?
Как именно поместить переменную TODAY в скрытое поле?
Ведь она то там... в яве, разве можно сразу с ней так?
что-то типа этого:

<script language="JavaScript" type="text/javascript"> 
  d=new Date(); 
  monthnum=new Array("01","02","03","04","05","06","07","08","09","10","11","12"); 
  TODAY = d.getFullYear()+"-"+monthnum[d.getMonth()] + "-" + 0+d.getDate();   
  </script>
  ...
  <input type='hidden' value='TODAY' />


Спасибо!

  Ответить  
 
 автор: sim5   (03.08.2008 в 11:43)   письмо автору
 
   для: mehelson   (03.08.2008 в 11:34)
 

Ну не знаю, как вы хотите получить (вернее когда и при каких условиях) дату. Ваш JS сценарий должен быть функцией, например, myFunc, и либо действия юзера приводят к получению этой даты, например, при отправке формы (по ее событию onsubmit="myFunc()"), либо по окончании загрузки страницы: <body onload="myFunc()">.
Присваивается просто. Например, если id этого скрытого поля равно 'date', то:
document.getElementById('date').value = TODAY. Добавьте эту строку после определения TODAY, в своем JS сценарии.

  Ответить  
 
 автор: mehelson   (03.08.2008 в 12:30)   письмо автору
 
   для: sim5   (03.08.2008 в 11:43)
 

Спасибо, уважаемый! Все случилось !
P.S.есть у меня книжка одна...JS на 100%
в печьку ее !

  Ответить  
 
 автор: sim5   (03.08.2008 в 13:13)   письмо автору
 
   для: mehelson   (03.08.2008 в 12:30)
 

Ну тогда приучите еще себя, при объявлении переменых в JS, писать так:
var d = new Date();

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования