Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: вопрос про POST
Форумы портала PHP.SU » » Вопросы новичков » вопрос про POST

Страниц (1): [1]
 

1. emslt - 28 Ноября, 2011 - 17:42:34 - перейти к сообщению
Господа, что то затупил и не могу понять как занести всю информацию $_POST в БД.
Получаю $_POST и надо этот массив занести в бд.
если отправляю POST то в БД заносится array.
А мне надо в поле text занести тупо вот такой текст
CODE (htmlphp):
скопировать код в буфер обмена
  1. ["message_description"]=> string(17) "New order created" ["timestamp"]=> string(19) "2037-09-09 23:52:12" ["md5_hash"]=> string(32) "A773C05488F94831FB5F943890930069" ["message_id"]=> string(8) "38779673" ["key_count"]=> string(2) "56" ["vendor_id"]=> string(7) "2292605" ["sale_id"]=> string(10) "1304079346" ["sale_date_placed"]=> string(19) "1995-11-09 02:17:34" ["vendor_order_id"]=> string(10) "promo12345" ["invoice_id"]=> string(9) "261584425" ["recurring"]=> string(1) "0" ["payment_type"]=> string(11) "credit card" ["list_currency"]=> string(3) "GBP" ["cust_currency"]=>


Как это сделать?
что бы просмотреть этот POST var_dump использовал а теперь надо тоже самое в БД что бы занеслось.
2. DlTA - 28 Ноября, 2011 - 18:10:24 - перейти к сообщению
$_POST['message_description'], ...
3. emslt - 28 Ноября, 2011 - 18:31:34 - перейти к сообщению
DlTA пишет:
$_POST['message_description'], ...



Это понятно, речь идёт о том что я получу $_POST данные с неизвестными мне ключами.
$_POST['hello_man'] например и я хочу это записать в БД что бы знать какие POST данные пришли.
4. z1o - 28 Ноября, 2011 - 18:34:16 - перейти к сообщению
PHP:
скопировать код в буфер обмена
  1.  
  2. $res=var_dump($_POST);
  3.  
  4. // Смотрим включена ли magic_quotes_gpc если да просто используем stripslashes() чтобы удалить экранирования
  5.         $res= stripslashes($res);
  6.     }
  7.  
  8. $res = "'" . mysql_real_escape_string($res) . "'";
  9.  
  10. // Дальше просто заносим в БД переменную $res
  11.  
  12.  
5. emslt - 28 Ноября, 2011 - 18:37:16 - перейти к сообщению
z1o пишет:
PHP:
скопировать код в буфер обмена
  1.  
  2. $res=var_dump($_POST);
  3.  
  4. // Смотрим включена ли magic_quotes_gpc если да просто используем stripslashes() чтобы удалить экранирования
  5.         $res= stripslashes($res);
  6.     }
  7.  
  8. $res = "'" . mysql_real_escape_string($res) . "'";
  9.  
  10. // Дальше просто заносим в БД переменную $res
  11.  
  12.  


Var_dump показывает инфу, а ее надо не показывать а заносить сразу в БД.
Как будто я ее (var_dump) запустил но только для db.
6. z1o - 28 Ноября, 2011 - 18:52:13 - перейти к сообщению
PHP:
скопировать код в буфер обмена
  1.  
  2.  
  3. var_dump($_POST);
  4. $res= ob_get_clean();
  5. $res= strtolower($res);
  6.  
  7. // Смотрим включена ли magic_quotes_gpc если да просто используем stripslashes() чтобы удалить экранирования
  8.         $res= stripslashes($res);
  9.     }
  10.  
  11. $res = "'" . mysql_real_escape_string($res) . "'";
  12.  
  13. // Дальше просто заносим в БД переменную $res
  14.  
  15.  


Я забыл что функция var_dump() печатает информацию о переменной...
7. emslt - 28 Ноября, 2011 - 18:54:04 - перейти к сообщению
z1o пишет:
PHP:
скопировать код в буфер обмена
  1.  
  2.  
  3. var_dump($_POST);
  4. $res= ob_get_clean();
  5. $res= strtolower($res);
  6.  
  7. // Смотрим включена ли magic_quotes_gpc если да просто используем stripslashes() чтобы удалить экранирования
  8.         $res= stripslashes($res);
  9.     }
  10.  
  11. $res = "'" . mysql_real_escape_string($res) . "'";
  12.  
  13. // Дальше просто заносим в БД переменную $res
  14.  
  15.  


Очень интересное решение, спасибо!
8. Bio man - 28 Ноября, 2011 - 18:55:18 - перейти к сообщению
способ 1:
PHP:
скопировать код в буфер обмена
  1. var_dump($_POST);
  2. $res = ob_get_clean();
  3. // Дальше просто заносим в БД переменную $res

способ 2:
PHP:
скопировать код в буфер обмена
  1. $res = serialize($_POST);
  2. // Дальше просто заносим в БД переменную $res

что бы восстановить массив из БД нужно использовать ф-цию unserialize()
9. DlTA - 28 Ноября, 2011 - 19:03:30 - перейти к сообщению

 

Powered by ExBB FM 1.0 RC1