58 lines
1.9 KiB
JavaScript
58 lines
1.9 KiB
JavaScript
|
|
// Общие функции для AJAX запросов
|
||
|
|
async function sendRequest(url, data) {
|
||
|
|
try {
|
||
|
|
const response = await fetch(url, {
|
||
|
|
method: 'POST',
|
||
|
|
headers: {
|
||
|
|
'Content-Type': 'application/json',
|
||
|
|
},
|
||
|
|
body: JSON.stringify(data)
|
||
|
|
});
|
||
|
|
return await response.json();
|
||
|
|
} catch (error) {
|
||
|
|
console.error('Ошибка:', error);
|
||
|
|
return { success: false, message: 'Ошибка сети' };
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
// Обработка регистрации
|
||
|
|
if (document.getElementById('registerForm')) {
|
||
|
|
document.getElementById('registerForm').addEventListener('submit', async function(e) {
|
||
|
|
e.preventDefault();
|
||
|
|
|
||
|
|
const formData = new FormData(this);
|
||
|
|
const data = Object.fromEntries(formData);
|
||
|
|
|
||
|
|
const result = await sendRequest('api/register.php', data);
|
||
|
|
|
||
|
|
if (result.success) {
|
||
|
|
alert(result.message);
|
||
|
|
window.location.href = 'login.html';
|
||
|
|
} else {
|
||
|
|
alert('Ошибка: ' + result.message);
|
||
|
|
}
|
||
|
|
});
|
||
|
|
}
|
||
|
|
|
||
|
|
// Обработка входа
|
||
|
|
if (document.getElementById('loginForm')) {
|
||
|
|
document.getElementById('loginForm').addEventListener('submit', async function(e) {
|
||
|
|
e.preventDefault();
|
||
|
|
|
||
|
|
const formData = new FormData(this);
|
||
|
|
const data = Object.fromEntries(formData);
|
||
|
|
|
||
|
|
const result = await sendRequest('api/login.php', data);
|
||
|
|
|
||
|
|
if (result.success) {
|
||
|
|
// Сохраняем данные пользователя в localStorage
|
||
|
|
localStorage.setItem('user', JSON.stringify(result.user));
|
||
|
|
localStorage.setItem('isLoggedIn', 'true');
|
||
|
|
|
||
|
|
alert(result.message);
|
||
|
|
window.location.href = 'index.html';
|
||
|
|
} else {
|
||
|
|
alert('Ошибка: ' + result.message);
|
||
|
|
}
|
||
|
|
});
|
||
|
|
}
|