0 Пользователей и 1 Гость просматривают эту тему.
  • 8 Ответов
  • 1327 Просмотров
*

ShutTap

  • Захожу иногда
  • 131
  • 0 / 0
Здравствуйте.
На одной странице есть две разные формы, с разными id и name.
И две кнопки отправки данных, по одной на форму.
Но на какую бы кнопку не жал, передаются данные только из первой формы все время... В чем может быть причина?
*

aspidy

  • Завсегдатай
  • 1009
  • 55 / 1
  • Миграция joomla 1.0-1.5-2.5
Формы на что завязаны, на компонент? Компонент RS?
Мелкий ремонт. skype poisk-plus
*

ShutTap

  • Захожу иногда
  • 131
  • 0 / 0
Завязаны на обработку конфигурации, config.php администратора.
формы для редактирования параметров. одна - для редактирования, а вторая - для добавления. редактируется норм, добавляется пустое, т.к. данные передаются только из первой формы почему-то... а должно при добавлении заносить то, что в форме внесено
*

Aleks.Denezh

  • Живу я здесь
  • 3405
  • 426 / 4
Без кода трудно что то сказать
*

ShutTap

  • Захожу иногда
  • 131
  • 0 / 0
формы
Код
<?php 
defined('_JEXEC') or die('Restricted access');
JHTML::_('behavior.tooltip');
include(dirname(__FILE__)."/submenu.php");
?>

<legend>Заголовок</legend>
<div class="col100">
<h4>Свойства</h4>

<form action="index.php?option=com_jshopping&controller=config" method="post" name="adminForm" id="adminForm">
<fieldset class="adminform">

<table class="admintable">
<tr>
    <td style="width: 60px; text-align: center;">
        ID
    </td>
    <td class="key">
        Название
    </td>
    <td class="key">
       Описание
    </td>
    <td>
        Удалить
    </td>
</tr>
<tr>
    <td style="width: 60px; text-align: center;">
        ID
    </td>
    <td class="key">
        <input type="text" name="param1" value="">
    </td>
    <td class="key">
        <input type="text" name="desc1" value="">
    </td>
    <td>
        Удалить
    </td>
</tr>
</table>
<input type="hidden" name="task" value="save">
<input type="hidden" name="tab" value="11">
</fieldset>

</form>

<hr>

<h4>Новое свойство</h4>

<form action="index.php?option=com_jshopping&controller=config" method="post" name="addForm" id="addForm">
<fieldset class="adminform">

<table class="admintable">
<tr>
    <td class="key">
        Название
    </td>
    <td class="key">
       Описание
    </td>
</tr>
<tr>
    <td>
     <input type="text" name="newparam" value="">
    </td>
    <td>
     <input type="text" name="newdesc" value="">
    </td>
</tr>
</table>

<input type="hidden" name="task" value="add">
<input type="hidden" name="tab" value="11">
<input type="button" value="Добавить" class="btn btn-small btn-success" onclick="Joomla.submitbutton('add');">
</fieldset>
</form>

</div>
Редактируется норм. Добавляется норм, но пустые поля.
При выводе $post выводятся поля из первой формы только.
В обрабатывающем файле config.php (/administrator/components/com_jshopping/controllers/config.php) в
function __construct( $config = array() )
добавлена строка  $this->registerTask('add','addgroup');
addgroup - функция, которая и добавляет.

Код
$post = JRequest::get("post");

$db = JFactory::getDBO();
$query = "INSERT INTO `#__jshopping_categories_groups` SET `name`='".$post['newparam']."', `description`='".$post['newdesc']."'";
$db->setQuery($query);
$db->query();
   
сразу после $post = JRequest::get("post"); если написать print_r($post); выдает данные из первой таблицы только
*

SmokerMan

  • Гуру
  • 5293
  • 720 / 26
Код
onclick="Joomla.submitbutton('add');"
а если убрать это?
и на будущее никогда не делайте такие запросы, т.к. это прямая sql инъекция
*

Aleks.Denezh

  • Живу я здесь
  • 3405
  • 426 / 4
Простите а где у вас кнопка submit в первой форме
*

ShutTap

  • Захожу иногда
  • 131
  • 0 / 0
SmokerMan
да, точно... видимо проверка на ввод не так работает, как хотелось бы, id нужно внутри прописывать жестко..
а как делать лучше, от иньекций?
Istaan
на первую не нужна, т.к. сохранение идет с кнопки "сохранить" в панели меню самой Joomla. а вот для добавления нужна кнопка
*

zomby6888

  • Завсегдатай
  • 1473
  • 171 / 3
Но на какую бы кнопку не жал, передаются данные только из первой формы все время... В чем может быть причина?
Скорее всего причина в том что submitbutton по умолчанию сабмитит форму с идешником adminForm если ему явно не указать идешник. Поэтому я добавлял скрипт:
Код: javascript
Joomla.submitbutton = function(task) {    
    ....
    Joomla.submitform(task, document.getElementById('идешник-формы'));    
}
ну по крайней мере в трешке так делал..
интернет-блог: http://websiteprog.ru
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Два запроса к базе данных за раз можно делать?

Автор borro

Ответов: 4
Просмотров: 526
Последний ответ 17.10.2017, 09:30:44
от SeBun
Стоит ли создавать отдельный запрос к базе данных?

Автор borro

Ответов: 4
Просмотров: 476
Последний ответ 10.07.2017, 13:03:03
от b2z
Вывод данных из MySQL на сайт

Автор Frics

Ответов: 5
Просмотров: 1649
Последний ответ 20.06.2017, 13:21:49
от Septdir
Запрос на обновление данных

Автор web3.0

Ответов: 0
Просмотров: 460
Последний ответ 30.04.2017, 21:30:12
от web3.0
PHP скрипт для автоматической очистки таблиц в Базе Данных MySQL

Автор LovelyHost

Ответов: 46
Просмотров: 3481
Последний ответ 17.12.2016, 14:32:28
от vipiusss