Столкнулся с конструкцией if(!empty($_POST) && is_string($_POST))
А как передать в POST sring?
А как передать в POST sring?
Передать можно через JSON это по сути string-овый тип данных.Столкнулся с конструкцией if(!empty($_POST) && is_string($_POST))
А как передать в POST sring?
В $_POST попадают данные отправленные как formdata поэтому условие никогда не выполнятся (или я чего-то не знаю)Столкнулся с конструкцией if(!empty($_POST) && is_string($_POST))
А как передать в POST sring?
Согласно документации (тут: https://www.php.net/manual/ru/reserved.variables.post.php) $_POST - это ассоциативный массив данных, переданных скрипту через HTTP методом POST при использовании application/x-www-form-urlencoded или multipart/form-data в заголовке Content-Type запроса HTTP.Столкнулся с конструкцией if(!empty($_POST) && is_string($_POST))
По разному, например, через HTML-форму или через JS.А как передать в POST sring?
const data = new FormData();
data.append('name', 'Vasssyaaa');
fetch('file.php', {
method: 'POST',
body: data
})
.then((response) => response.text())
.then((text) => {
console.log(text);
})
<?php
if($_SERVER['REQUEST_METHOD'] === 'POST') {
if (isset($_POST["name"])) {
echo($_POST["name"]);
}
}
Да, всё верно, но мы не знаем и не видели код до текущей строки.Не понимаю зачем нужна конструкция is_string($_POST), если это всегда массив. Проверяйте наличие конкретного поля так: isset($_POST["lalala"]).
public function __construct()
{
$postTempVar = $_POST;
if(!empty($_POST) && is_string($_POST)) {
$postTempVar = unserialize($_POST);
}
if(!is_array($postTempVar)) {
$postTempVar = array();
}
$this->post = new RscSgg_Http_Parameters($postTempVar);
$this->query = new RscSgg_Http_Parameters($_GET);
$this->files = new RscSgg_Http_Parameters($_FILES);
$this->server = new RscSgg_Http_ServerParameters($_SERVER);
$this->headers = new RscSgg_Http_Parameters($this->server->getHeaders());
}
echo "your payload here" | curl -d @- https://target.com/script.php
$_POST - массивСамо собой тут надо указать сериализованный объект, который во время десериализации бомбанёт на бэкенде.Код:echo "your payload here" | curl -d @- https://target.com/script.php
$postTempVar = $_POST;Код
PHP:public function __construct() { $postTempVar = $_POST; if(!empty($_POST) && is_string($_POST)) { $postTempVar = unserialize($_POST); } if(!is_array($postTempVar)) { $postTempVar = array(); } $this->post = new RscSgg_Http_Parameters($postTempVar); $this->query = new RscSgg_Http_Parameters($_GET); $this->files = new RscSgg_Http_Parameters($_FILES); $this->server = new RscSgg_Http_ServerParameters($_SERVER); $this->headers = new RscSgg_Http_Parameters($this->server->getHeaders()); }
он из плагина вп gallery-by-supsystic
Объединить наши посты и будет идеальный ответ ))$_POST - массив
$postTempVar = $_POST;
Все что нужно знать )) 2 if ниже бесполезны, т.к. без вмешательства типо $_POST= serialize(); никогда не выполнятся.