Requests.post не записывает данные в $_POST['data']

Botovod1488

Участник
Автор темы
35
8
Версия MoonLoader
.027.0-preview
В общем, я имею луа скрипт.

Lua:
function hook.onSendDialogResponse(id, button, list, input)
    if id == 32700 then
        data_log = "text"
        sampAddChatMessage(data_log, -1)
        local response = requests.post{url = 'http://site/', data = data_log}
    end   
end

При отправке запроса записи в БД не появляются.

php который принимает запрос:

PHP:
<?php
$mysql = mysqli_connect('localhost', 'root', '', 'table');
if (!$mysql) exit('MySQL Connection Error!');

$log = $_POST['data'];

if(isset($log))
    {
        $query = "INSERT INTO `logs`(`log`) VALUES ('{$log}')";
        $result = mysqli_query($mysql, $query);
        echo 'Запись добавлена';
    }
?>
 
  • Ха-ха
Реакции: Loocking

chapo

🫡 В армии с 17.10.2023. В ЛС НЕ ОТВЕЧАЮ
Друг
8,778
11,222
Lua:
function hook.onSendDialogResponse(id, button, list, input)
    if id == 32700 then
        data_log = "text"
        sampAddChatMessage(data_log, -1)
        local response = requests.post{url = 'http://site/', data = data_log}
    end  
end
1. просто выведи в принт response.status_code и потом загугли его
2. ты неверно передаешь аргументы в функцию, ты передал массив в котором есть url и data, а надо было в качестве первого аргумента передать url, а в качестве второго массив с data
1672427988269.png
 

Botovod1488

Участник
Автор темы
35
8
1. просто выведи в принт response.status_code и потом загугли его
2. ты неверно передаешь аргументы в функцию, ты передал массив в котором есть url и data, а надо было в качестве первого аргумента передать url, а в качестве второго массив с data
Посмотреть вложение 183714
Lua:
params = {data = data_log}
response = requests.post('http://site/', params)

Сделал так, теперь запрос проходит но записи в БД нет.
 

chapo

🫡 В армии с 17.10.2023. В ЛС НЕ ОТВЕЧАЮ
Друг
8,778
11,222
Последнее редактирование:

Botovod1488

Участник
Автор темы
35
8
ты уверен что проблема в серверной части?
Ну получается так.
1672429239403.png

PHP:
<!DOCTYPE html>
<body>
    <a>test</a>
</body>

<?php
$mysql = mysqli_connect('localhost', 'root', '', 'table');
if (!$mysql) exit('MySQL Connection Error!');

$log = $_POST['data'];

if(isset($log))
    {
        $query = "INSERT INTO `logs`(`log`) VALUES ('{$log}')";
        $result = mysqli_query($mysql, $query);
        echo 'Запись добавлена';
    }
?>

C помощью инпута добавляет, с помощью запроса нет.

Получается что в $_POST['data'] пусто.
 
Последнее редактирование: