Пытался всяко разно сделать передачу данных из формы на сайт (api) через curl, но видимо что-то не так понимаю в этой библиотеке, хоть примеров и много в интернете. Можете подсказать, как передать их? Заранее благодарю <3
Код с формой:
<div id="popup1" class="mfp-hide popup">
<h2 class="popup-title">Справка о периоде обучения</h2>
<form class="reference-form" action="">
<div class="reference-select">
<select class="groups" name="groups" id="groups">
<option value="default" disabled selected>Выберите группу</option>
<?php
$groups = loadGroups();
foreach($groups as $group){
?>
<option id="<?=$group['id']?>" value="<?=$group['id']?>"><?=$group['name']?></option>
<?php } ?>
</select>
</div>
<div class="reference-select">
<select class="obiturients" name="obiturients" id="obiturients">
<option value="default" disabled selected>ФИО</option>
</select>
</div>
<button class="reference-btn">Создать</button>
</form>
</div>
```
Код ajax
$(function () {
$('.reference-link').magnificPopup();
$('.groups').change(function () {
let gid = $(this).val();
let form = $(this).closest('form');
$.ajax({
url: 'data.php',
method: 'post',
data: {gid: gid}
}).done(function (obiturient) {
console.log(obiturient);
obiturient = JSON.parse(obiturient);
form.find('[name="obiturients"]').empty();
obiturient.forEach(function (obiturient) {
form.find('[name="obiturients"]').append('<option value='+ obiturient.id +'>' + obiturient.O_fam + ' ' + obiturient.O_name + ' ' + obiturient.O_otch + '</option>')
})
})
})
})
```
Нужно передать именно
append('<option value='+ obiturient.id +'>
data.php
<?php
require_once 'db.php';
if (isset($_POST['gid'])) {
global $obiturient;
$connection = new mysqli('localhost', 'root', 'root', 'rups');
$stmt = $connection->query("SELECT * FROM `obiturient` WHERE `group_id`= " . $_POST['gid']);
$obiturient = $stmt->fetch_all(MYSQLI_ASSOC);
echo json_encode($obiturient);
}
function loadGroups(){
global $groups;
$connection = new mysqli('localhost', 'root', 'root', 'rups');
$stmt = $connection->query("SELECT * FROM `groups`");
$groups = $stmt->fetch_all(MYSQLI_ASSOC);
return $groups;
}
```
Сам cURL:
$curl = curl_init(); //инициализация сеанса
curl_setopt($curl, CURLOPT_URL, 'http://diplom/example.php'); //урл сайта к которому обращаемся
curl_setopt($curl, CURLOPT_HEADER, 1); //выводим заголовки
curl_setopt($curl, CURLOPT_POST, 1); //передача данных методом POST
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); //теперь curl вернет нам ответ, а не выведет
curl_setopt($curl, CURLOPT_POSTFIELDS, //тут переменные которые будут переданы методом POST
array (
'obiturients'=>$_POST['obiturients'],
));
curl_setopt($curl, CURLOPT_USERAGENT, 'MSIE 5'); //эта строчка как-бы говорит: "я не скрипт, я IE5" :)
curl_setopt ($curl, CURLOPT_REFERER, "http://ya.ru"); //а вдруг там проверяют наличие рефера
$res = curl_exec($curl);
curl_close($curl);
из второго бокса формы , но у меня не получилось вытащить value по примерам из интернета и отправить это значение. Еще раз благодарю заранее за Вашу помощь.
Скриншот того, что мы получаем при отправке:
Ну и самое главное, я не понимаю, данные отправляются вообще через cURl, или же нет? Всем спасибо за ответ и помощь заранее.