Форматирование массива POST в строку вставки SQL \ update в codeigniter 2 - PullRequest
0 голосов
/ 07 ноября 2010

Я пытаюсь автоматизировать создание и отправку форм с помощью codeigniter.

В основном я хочу найти способ просмотреть все данные в массиве POST и правильно отформатировать их для вставки или обновления.sql query.

Проблема в том, что я не знаю, как получить доступ ко всему массиву POST в CI, все, что я знаю, это способ $ this-> input-> post (field_name), который дает толькоконкретное поле.

В идеале я хотел бы отправить массив POST в $ this-> db-> insert_string () или $ this-> db-> update_string (), чтобы выполнить эту работу за меня.

Я знаю, что все еще могу использовать собственный массив $ _POST php, но это не рекомендуется и не так безопасно, как входной класс CI.

Кто-нибудь знает способ сделать это?

Спасибо, Амос

Ответы [ 2 ]

1 голос
/ 08 ноября 2010

В конце концов я обнаружил, что входной класс очищает массив $ _POST автоматически (не говоря об очистке XSS), и поэтому единственным преимуществом использования $this->input->post(something) является то, что он проверяет, существует ли этот ключ.

Поскольку мне нужен весь массив, эта проверка мне не нужна, и я могу безопасно использовать $this->db->insert_string($_POST).

Если вы действительно хотите очистить XSS, вы можете либо включить его глобально в конфигурации, либо использовать ответ geocine (я бы пошел на смесь из двух примеров, которые он дал).

Другой способ пойти, если вы хотите, чтобы весь массив с очисткой XSS и без него был включен глобально, это использовать расширение библиотеки ввода WanWizard, найденное здесь: http://codeigniter.com/forums/viewthread/172705/#821150

0 голосов
/ 07 ноября 2010
foreach($_POST as $key => $value) {
  $value = $this->input->post($key);
  //do something
}  

или

$keys = array_keys($_POST);
for($i=0,$max=count($keys);$i<=$max;$i++)
{
   $value = $this->input->xss_clean($_POST[$keys[$i]]);
   //do something
}  
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...