$json = json_decode(file_get_contents('php://input'));
//ну и посмотри что приходит:
file_put_contents(__DIR__ . '/log', json_encode($json), FILE_APPEND);
let serialize = (f) => { var i, j, q; if (!f || f.nodeName !== "FORM") { return } i = j = void 0; q = {}; i = f.elements.length - 1; while (i >= 0) { if (f.elements[i].name === "") { i = i - 1; continue } switch (f.elements[i].nodeName) { case "INPUT": switch (f.elements[i].type) { case "number": case "date": case "text": case "hidden": case "password": case "button": case "reset": case "submit": q[f.elements[i].name] = f.elements[i].value; break; case "checkbox": case "radio": if (f.elements[i].checked) { q[f.elements[i].name] = f.elements[i].value } break; case "file": break }break; case "TEXTAREA": q[f.elements[i].name] = f.elements[i].value; break; case "SELECT": switch (f.elements[i].type) { case "select-one": q[f.elements[i].name] = f.elements[i].value; break; case "select-multiple": j = f.elements[i].options.length - 1; while (j >= 0) { if (f.elements[i].options[j].selected) { q[f.elements[i].name] = f.elements[i].options[j].value } j = j - 1 } }break; case "BUTTON": switch (f.elements[i].type) { case "reset": case "submit": case "button": q[f.elements[i].name] = f.elements[i].value } }i = i - 1 } return q };
fetch(url, {
method: 'POST',
body: JSON.stringify(serialize(document.forms.form_name)),
credentials: 'same-origin',
cache: "no-cache"
}).then((r)=>{r.json().then((data) => {
//получаем данные
})}, (e)=>{console.log(e)})}
#Если данные с формы form_name меняем на имя формы <form name="имя формы"
JSON.stringify(serialize(document.forms.form_name))
#Если данные просто массив или обьект
JSON.stringify(указываем переменную)
$URIParts = explode('?',$_SERVER['REQUEST_URI']);
$routes = explode('/',$URIParts[0]);
<?php
$client_id = '3485070'; // ID приложения
$client_secret = 'lYjfUZwZmlJJlFIqQFAj'; // Защищённый ключ
$redirect_uri = 'http://localhost/vk-auth'; // Адрес сайта
$url = 'http://oauth.vk.com/authorize';
$params = array(
'client_id' => $client_id,
'redirect_uri' => $redirect_uri,
'response_type' => 'code'
);
echo $link = '<p><a href="' . $url . '?' . urldecode(http_build_query($params)) . '">Аутентификация через ВКонтакте</a></p>';
if (isset($_GET['code'])) {
$result = false;
$params = array(
'client_id' => $client_id,
'client_secret' => $client_secret,
'code' => $_GET['code'],
'redirect_uri' => $redirect_uri
);
$token = json_decode(file_get_contents('https://oauth.vk.com/access_token' . '?' . urldecode(http_build_query($params))), true);
if (isset($token['access_token'])) {
$params = array(
'uids' => $token['user_id'],
'fields' => 'uid,first_name,last_name,screen_name,sex,bdate,photo_big',
'access_token' => $token['access_token']
);
$userInfo = json_decode(file_get_contents('https://api.vk.com/method/users.get' . '?' . urldecode(http_build_query($params))), true);
if (isset($userInfo['response'][0]['uid'])) {
$userInfo = $userInfo['response'][0];
$result = true;
}
}
if ($result) {
echo "Социальный ID пользователя: " . $userInfo['uid'] . '<br />';
echo "Имя пользователя: " . $userInfo['first_name'] . '<br />';
echo "Ссылка на профиль пользователя: " . $userInfo['screen_name'] . '<br />';
echo "Пол пользователя: " . $userInfo['sex'] . '<br />';
echo "День Рождения: " . $userInfo['bdate'] . '<br />';
echo '<img src="' . $userInfo['photo_big'] . '" />'; echo "<br />";
}
}
?>
В результате я ничего не умею, но уверен, что хочу быть программистом. Как быть?