Уже месяц мучаю и не могу довести до ума. Есть модуль содержащий произвольный код формы: Код (html): <form action="index.php?option=com_content&view=article&id=24" method="post"> <p>Ваше имя:<br><input name="name" type="text" size="22"></p> <p>Телефон:<br><input name="phone" type="text" size="22"></p> <p>Email:<br><input name="email" type="text" size="22"></p> <p>Тип конструкции:<br><select name="tip" size="1"> <option>Пластиковые окна</option> <option>Деревянные окна</option> <option>Алюминиевые окна</option> </select></p> <p>Дополнительно:<br><textarea name="dop" cols="16" rows="5"></textarea></p> <input name="submit" type="submit" value="Вызвать"> </form> Обработчик лежит в папке scripts/int.php: Код (PHP): <?php // прямой доступ запрещен defined ('_JEXEC') or die ('Restricted access'); //Получение переменных $name = mosGetParam($_REQUEST,'name',''); $phone = mosGetParam($_REQUEST,'phone',''); $email = mosGetParam($_REQUEST,'email',''); $tip = mosGetParam($_REQUEST,'tip',''); $dop = mosGetParam($_REQUEST,'dop',''); //Заносим в переменную дату заявки $date = date ("Y-n-d"); echo $name; echo $phone; echo $email; // для отладки проверяю передались ли данные echo $tip; echo $dop; echo $date; // /Подключаемся к базе $db= & JFactory::getDBO(); //Добавляем в базу данные полученные с формы $database->setQuery("INSERT INTO #__db_zakaz(name, phone, email, tip, dop, date) VALUES ('$name', '$phone', '$email', '$tip', '$dop', '$date')"); $database->query(); ?> В материале вызываю данный скрипт: Код (CODE): {rdaddphp file=scripts/int.php} В результате данные с формы не передаются, в базу не заносятся. Результат работы белый пустой лист. Помогите пожалуйста разобраться. Буду очень благодарен.
Я уже, по-моему, Вам пиал - НЕ ПУТАЙТЕ джумлу 1.0.х и 1.5.х замените Код (PHP): //Получение переменных $name = mosGetParam($_REQUEST,'name',''); $phone = mosGetParam($_REQUEST,'phone',''); $email = mosGetParam($_REQUEST,'email',''); $tip = mosGetParam($_REQUEST,'tip',''); $dop = mosGetParam($_REQUEST,'dop',''); на Код (PHP): //Получение переменных $name =JRequest::getVar('name'); $phone = JRequest::getVar('phone'); $email = JRequest::getVar('email'); $tip = JRequest::getVar('tip'); $dop = JRequest::getVar('dop'); и это безобразие Код (PHP): //Добавляем в базу данные полученные с формы $database->setQuery("INSERT INTO #__db_zakaz(name, phone, email, tip, dop, date) VALUES ('$name', '$phone', '$email', '$tip', '$dop', '$date')"); $database->query(); на Код (PHP): $db->setQuery("INSERT INTO #__db_zakaz(name, phone, email, tip, dop, date) VALUES ('$name', '$phone', '$email', '$tip', '$dop', '$date')"); if(!$db->query()) { echo __LINE__.$db->stderr(); }
Спасибо за внимание. Исправил как Вы написали. Переменные получил. Выводятся. Но ввод в базу не прошёл. И у меня есть к Вам большая просьба, не могли бы Вы скинуть на ящик resolute_999@mail.ru или дать ссылки на материал по программированию под Joomla 1.5? Буду очень благодарен. Скачал кучу книжек по PHP, по Joomla, уроки Попова, облазил весь "Русский ДОМ", но везде только крохи!
Могу посоветовать две англоязычные книги. Мне они очень помогли. 1.Professional Joomla! Dan Rahmel издательства Wiley Publishing, Inc. 2.Mastering Joomla! 1.5 Extension and Framework Development The Professional's Guide to Programming Joomla! James Kennard Если надо ссылки на электронные варианты - стучись в личку.