Я сделал HTTP-запрос из приложения C ++ с использованием wininet, и он успешно работает для отправки данных в файл php с помощью следующих функций winapi
InternetOpen()
InternetConnect()
HttpOpebnRequest()
HttpSendRequest()
Теперь он отправляет данные в файл php, хорошо и хорошо, но не отправляет все параметры
например у меня есть этот параметр
username=jade101&password=svetlana123&submit=yes
Он просто отправляет только username=jade101
и выбрасывает остальное.
PHP, который я использовал, чтобы получить данные выглядит следующим образом
<?php
$data = $_GET['info'];
$fp = fopen('logga.txt','a+');
fwrite($fp, $data);
fclose($fp);
?>
Что я не получаю правильно?
Прежде всего, я пишу на CPP и хорошо разбираюсь в PHP, и я могу сказать, что, глядя на ограниченный код, это использование $ _GET.
Как вы отправляете данные в файл php? Вызывает ли сам скрипт PHP, добавляя строку
«Имя пользователя = jade101&пароль = Svetlana123&представить = да»
к этому?
В любом случае, $ _GET должен будет захватывать каждую переменную отдельно. Что-то вроде:
$uname = $_GET['username'];
$upass = $_GET['password'];
$sflag = $_GET['submit'];
Вы также можете попробовать:
$data = $_SERVER["REQUEST_URI"];
Для захвата полного URI, начиная с имени скрипта, и проанализируйте строку, как вам нравится позже.
Я не понимаю, почему проблема существует в коде C ++, если только буферы отправки не использовались неправильно, но эта реализация не видна в этом коде.
Других решений пока нет …