Перейти к содержимому

Сервис обмена электронных валют


Не передаются данные из формы

#1 werd_34

werd_34
  • Пользователь
  • 34 сообщений
  • Репутация: 0
0

Отправлено 09 Апрель 2013 - 01:02

Доброго времени суток, уважаемые форумчане! Помогите разобраться.
Есть у меня форма, передаёт введённые значения в БД через сессионные переменные. Работает хорошо.

<input type="text"  id="inputField" name="year"  value="<?php echo $_SESSION['year']; ?>" />
Прикрутил я к этой форме скрипт календаря, чтобы было легче вводить даты - http://javascriptcalendar.org/
И данные перестали передаваться, хотя в форму заносятся исправно... Скрипт хороший, установил по инструкции, подскажите, может ли JS скрипт конфликтовать с сессионными переменными? Что делать?

 

 

  • 0

#2 html-ka

html-ka
  • Пользователь
  • 455 сообщений
  • Репутация: 82

Отправлено 09 Апрель 2013 - 07:59

Что делать?

дать полностью скрипт формы
сделать дамп данных приходящих из формы
  • 0

#3 isvetlichniy

isvetlichniy
  • Пользователь
  • 619 сообщений
  • Репутация: 93

Отправлено 09 Апрель 2013 - 10:34

И данные перестали передаваться, хотя в форму заносятся исправно...


а ты в обработчике их принимаешь должным образом?

$_POST['year'] (ну или $_GET['year'])
  • 0

#4 werd_34

werd_34
    Topic Starter
  • Пользователь
  • 34 сообщений
  • Репутация: 0

Отправлено 09 Апрель 2013 - 11:54

С обработчиком всё в порядке.

session_start();
if($_POST['submit']){
}
Только вот тип поля `year` ДБ у меня char, а не date. Данные вводятся в форму в виде dd.mm.yyyy. Раньше всё работало, а с вставкой календаря - нет.
Тогда как мне преобразовать мой dd.mm.yyyy, чтобы в ДБ он попадал как yyyy.mm.dd (по умолчанию) или как изменить формат поля `year`.
  • 0

#5 werd_34

werd_34
    Topic Starter
  • Пользователь
  • 34 сообщений
  • Репутация: 0

Отправлено 09 Апрель 2013 - 12:46

Я что-то не указал при установке скрипта. http://javascriptcal...date-picker.php
Устанавливал по исходному коду. В readme об этом ни слова.

<head>
<script type="text/javascript" src="jsDatePick.min.1.3.js"></script>
<script type="text/javascript">
window.onload = function(){
  new JsDatePick({
   useMode:2,
   target:"inputField",
   dateFormat:"%d.%M.%Y"
   /*selectedDate:{This is an example of what the full configuration offers.   
   day:5, For full documentation about these settings please see the full version of the code.
   month:9,
   year:2006
   },
   yearsRange:[1978,2020],
   limitToToday:false,
   cellColorScheme:"beige",
   dateFormat:"%m-%d-%Y",
   imgPath:"img/",
   weekStartDay:1*/
  });
};
</script>
</head>
и в форме

<input type="text" size="12" id="inputField" name="year"  value="<?php echo $_SESSION['year']; ?>" />
Если раскомментировать, скрипт не работает
  • 0

#6 html-ka

html-ka
  • Пользователь
  • 455 сообщений
  • Репутация: 82

Отправлено 09 Апрель 2013 - 18:37

что значит не работает?
  • 0

#7 werd_34

werd_34
    Topic Starter
  • Пользователь
  • 34 сообщений
  • Репутация: 0

Отправлено 09 Апрель 2013 - 18:46

Данные (дата) перестаёт вводиться в форму, но и введённые даты вручную не передаются в ДБ. Удаляю скрипт - всё в порядке...
  • 0

#8 html-ka

html-ka
  • Пользователь
  • 455 сообщений
  • Репутация: 82

Отправлено 09 Апрель 2013 - 19:02

смотри скрипт будет работать, если ты обявишь $_SESSION['year'], т.е. присвоешь ему значению, сейчас сделал вначале скрипта:
session_start();
$_SESSION['year'] = 2013;

навскидку:

<?php
session_start();
$_SESSION['year'] = 0; // тут продумай какое значение присваивать
if($_POST['submit']){
    echo $_POST['year'];
}

и все заработало, только не пойму зачем тебе только год, да еще в сессии
  • 0

#9 werd_34

werd_34
    Topic Starter
  • Пользователь
  • 34 сообщений
  • Репутация: 0

Отправлено 10 Апрель 2013 - 00:11

К сожалению, причина не в этом - дата не передаётся. Есть в этом какая-то буржуйская хитрость - прописать они её прописали на сайте - http://javascriptcal...date-picker.php
Но как этим кодом пользоваться - не указали. Помогите кто английский хорошо знает (или PHP :) или JS ;) )

HTML Direct Appending Example
This is an HTML direct-appending example of the JsDatePick calendar. When used with this method, it's recommended to keep the reference to the Javascript object in order to retrieve the selected date later on when the calendar is clicked. This is done by setting a function to the predefined onSelected event handler, using the method JsDatePick.setOnSelectedDelegate (function(){ alert("a date has been chosen!"); });


g_calendarObject = new JsDatePick({
	    useMode:1,
	    isStripped:true,
	    target:"aFieldId",
   cellColorScheme:"armygreen"
    });
   
    g_calendarObject.setOnSelectedDelegate(function(){
	    var obj = g_calendarObject.getSelectedDay();
   
	    alert("a date was just selected and the date is : " + obj.day + "/" + obj.month + "/" + obj.year);
    });

  • 0

#10 html-ka

html-ka
  • Пользователь
  • 455 сообщений
  • Репутация: 82

Отправлено 10 Апрель 2013 - 00:21

у меня все передается, вот смотри, что тебе еще нужно?(как вариант, научись выражать свои мысли, что ты хочешь?), попробуй Jquery UI там очень гибкий календарь, его даже руссифицировать можно и легко настроить формат даты http://jqueryui.com/datepicker/
  • 0

robot

robot
  • Пользователь PRO
  • 2 652 сообщений
  • Репутация: 85


Оформление форума – IPBSkins.ru