Несколько экземпляров GoTrueClient обнаружены в одном и том же контексте браузера с помощью supabase и javascript.Php

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Несколько экземпляров GoTrueClient обнаружены в одном и том же контексте браузера с помощью supabase и javascript.

Сообщение Anonymous »

Я не понимаю эту проблему/предупреждение. Код, написанный вчера, работал отлично, и когда его изменили, чтобы добавить некоторые функции PHP-скрипта для отправки электронных писем, которые оказались не очень хорошими, я отменил все внесенные изменения, но затем код начал показывать следующее предупреждение и не обновляется. моя Supabase.

В одном и том же контексте браузера обнаружено несколько экземпляров GoTrueClient. Это не ошибка, но этого следует избегать, так как это может привести к неопределенному поведению при одновременном использовании под одним и тем же ключом хранения.

Этот код работал без каких-либо ошибок. проблемы вчера, мне просто нужно решение, как исправить эту проблему с GoTrueClient и что именно это такое.

async function loadCalendarTable() {
const url = 'https://kvxswebzyfogzgiclagy.supabase.co';
const key = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6Imt2eHN3ZWJ6eWZvZ3pnaWNsYWd5Iiwicm9sZSI6ImFub24iLCJpYXQiOjE3MDg0NjA5NDcsImV4cCI6MjAyNDAzNjk0N30.hLJFmnkA-2oNgXoJT7-aRIo0vHD_V8QFvqtYz1AkK_Q';
const _supabase = supabase.createClient(url, key);
try {
const { data: calendarData, error } = await _supabase
.from('Calendar')
.select('*');

if (error) {
throw error;
}

let tableHtml = 'EmailTelefonLokacijaSlikeSnimakDronVremePoslatoStatus';

calendarData.forEach(entry => {
tableHtml += '';
tableHtml += `${entry.email}`;
tableHtml += `${entry.telefon}`;
tableHtml += `${entry.lokacija}`;
tableHtml += `${entry.slike}`;
tableHtml += `${entry.snimak}`;
tableHtml += `${entry.dron}`;
tableHtml += `${entry.vreme}`;
tableHtml += `${entry.created_at}`;
tableHtml += '';
tableHtml += ``;
if (entry.status === null) {
tableHtml += 'Izaberite status';
}
tableHtml += `Prihvaćen`;
tableHtml += `Odbijen`;
tableHtml += ``;
tableHtml += '';
tableHtml += '';
});

tableHtml += '';

document.getElementById('calendar-table').innerHTML = tableHtml;
} catch (error) {
console.error('Error loading calendar data:', error);
alert('Error loading calendar data: ' + error.message);
}
}

async function updateStatus(selectElement, id) {
const newStatus = selectElement.value;
const url = 'https://kvxswebzyfogzgiclagy.supabase.co';
const key = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6Imt2eHN3ZWJ6eWZvZ3pnaWNsYWd5Iiwicm9sZSI6ImFub24iLCJpYXQiOjE3MDg0NjA5NDcsImV4cCI6MjAyNDAzNjk0N30.hLJFmnkA-2oNgXoJT7-aRIo0vHD_V8QFvqtYz1AkK_Q';
const _supabase = supabase.createClient(url, key);
try {
const { data, error } = await _supabase
.from('Calendar')
.update({ status: newStatus })
.eq('id', id);
if (error) {
throw error;
}
console.log('Status updated successfully:', data);
} catch (error) {
console.error('Error updating status:', error);
alert('Error updating status: ' + error.message);
}
}
loadCalendarTable();

function navbar() {
var navbar = document.querySelector('.navbar');
var logoContainer = document.querySelector('.logo-container');
navbar.classList.add('sticky');
logoContainer.classList.add('hide-logo');
}
navbar();


...


async function loadPuzzleTable() {
const url = 'https://kvxswebzyfogzgiclagy.supabase.co';
const key = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6Imt2eHN3ZWJ6eWZvZ3pnaWNsYWd5Iiwicm9sZSI6ImFub24iLCJpYXQiOjE3MDg0NjA5NDcsImV4cCI6MjAyNDAzNjk0N30.hLJFmnkA-2oNgXoJT7-aRIo0vHD_V8QFvqtYz1AkK_Q';
const _supabase = supabase.createClient(url, key);
try {
const { data: puzzleData, error } = await _supabase
.from('puzzle')
.select('*');

if (error) {
throw error;
}

let tableHtml = 'EmailUsernameCenaTelefonImage URLCreated AtVrsta proizvodaStatus proizvoda';

puzzleData.forEach(entry => {
tableHtml += '';
tableHtml += `${entry.email}`;
tableHtml += `${entry.username}`;
tableHtml += `${entry.cena}`;
tableHtml += `${entry.telefon}`;
tableHtml += `
Изображение
`;
tableHtml += `${entry.created_at}`;
tableHtml += `${entry.sorta}`;
tableHtml += '';
tableHtml += ``;
if (entry.status === null) {
tableHtml += 'Izaberite status';
}
tableHtml += `Prihvaćen`;
tableHtml += `Odbijen`;
tableHtml += ``;
tableHtml += '';
// tableHtml += '';
});

tableHtml += '';

document.getElementById('puzzle-table').innerHTML = tableHtml;
} catch (error) {
console.error('Error loading puzzle data:', error);
alert('Error loading puzzle data: ' + error.message);
}
}

async function updateStatus(selectElement, id) {
const newStatus = selectElement.value;
const url = 'https://kvxswebzyfogzgiclagy.supabase.co';
const key = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6Imt2eHN3ZWJ6eWZvZ3pnaWNsYWd5Iiwicm9sZSI6ImFub24iLCJpYXQiOjE3MDg0NjA5NDcsImV4cCI6MjAyNDAzNjk0N30.hLJFmnkA-2oNgXoJT7-aRIo0vHD_V8QFvqtYz1AkK_Q';
const _supabase = supabase.createClient(url, key);
try {
const { data, error } = await _supabase
.from('puzzle')
.update({ status: newStatus })
.eq('id', id);
if (error) {
throw error;
}
console.log('Status updated successfully:', data);
} catch (error) {
console.error('Error updating status:', error);
alert('Error updating status: ' + error.message);
}
}

loadPuzzleTable();









Fotografski studio Dunjic












Admin panel



async function loadCalendarTable() {
const url = 'https://kvxswebzyfogzgiclagy.supabase.co';
const key = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6Imt2eHN3ZWJ6eWZvZ3pnaWNsYWd5Iiwicm9sZSI6ImFub24iLCJpYXQiOjE3MDg0NjA5NDcsImV4cCI6MjAyNDAzNjk0N30.hLJFmnkA-2oNgXoJT7-aRIo0vHD_V8QFvqtYz1AkK_Q';
const _supabase = supabase.createClient(url, key);
try {
const { data: calendarData, error } = await _supabase
.from('Calendar')
.select('*');

if (error) {
throw error;
}

let tableHtml = 'EmailTelefonLokacijaSlikeSnimakDronVremePoslatoStatus';

calendarData.forEach(entry => {
tableHtml += '';
tableHtml += `${entry.email}`;
tableHtml += `${entry.telefon}`;
tableHtml += `${entry.lokacija}`;
tableHtml += `${entry.slike}`;
tableHtml += `${entry.snimak}`;
tableHtml += `${entry.dron}`;
tableHtml += `${entry.vreme}`;
tableHtml += `${entry.created_at}`;
tableHtml += '';
tableHtml += ``;
if (entry.status === null) {
tableHtml += 'Izaberite status';
}
tableHtml += `Prihvaćen`;
tableHtml += `Odbijen`;
tableHtml += ``;
tableHtml += '';
tableHtml += '';
});

tableHtml += '';

document.getElementById('calendar-table').innerHTML = tableHtml;
} catch (error) {
console.error('Error loading calendar data:', error);
alert('Error loading calendar data: ' + error.message);
}
}

async function updateStatus(selectElement, id) {
const newStatus = selectElement.value;
const email = selectElement.parentElement.parentElement.querySelector('td:first-child').textContent;
const selectedOptionText = selectElement.options[selectElement.selectedIndex].text;

const url = 'https://kvxswebzyfogzgiclagy.supabase.co';
const key = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6Imt2eHN3ZWJ6eWZvZ3pnaWNsYWd5Iiwicm9sZSI6ImFub24iLCJpYXQiOjE3MDg0NjA5NDcsImV4cCI6MjAyNDAzNjk0N30.hLJFmnkA-2oNgXoJT7-aRIo0vHD_V8QFvqtYz1AkK_Q';
const _supabase = supabase.createClient(url, key);
try {
const { data, error } = await _supabase
.from('Calendar')
.update({ status: newStatus })
.eq('id', id);
if (error) {
throw error;
}

// sendEmail(data.email, newStatus); // Poziv funkcije za slanje mejla
// AJAX poziv ka PHP skripti sendEmail.php
$.ajax({
type: 'POST',
url: 'send.php',
data: {

email: email,
newStatus: newStatus,
subject:'Ažuriran status kalendara',
message: `Vaš termin za venčanje je ažuriran u: ${selectedOptionText}`

},
success: function(response) {
console.log('Email poslat: ' + response);
},
error: function(xhr, status, error) {
console.error('Greška prilikom slanja emaila:', error);
}
});

console.log('Status updated successfully:', data);
} catch (error) {
console.error('Error updating status:', error);
alert('Error updating status: ' + error.message);
}
}
loadCalendarTable();

function navbar() {
var navbar = document.querySelector('.navbar');
var logoContainer = document.querySelector('.logo-container');
navbar.classList.add('sticky');
logoContainer.classList.add('hide-logo');
}
navbar();



async function loadPuzzleTable() {
const url = 'https://kvxswebzyfogzgiclagy.supabase.co';
const key = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6Imt2eHN3ZWJ6eWZvZ3pnaWNsYWd5Iiwicm9sZSI6ImFub24iLCJpYXQiOjE3MDg0NjA5NDcsImV4cCI6MjAyNDAzNjk0N30.hLJFmnkA-2oNgXoJT7-aRIo0vHD_V8QFvqtYz1AkK_Q';
const _supabase = supabase.createClient(url, key);
try {
const { data: puzzleData, error } = await _supabase
.from('puzzle')
.select('*');

if (error) {
throw error;
}

let tableHtml = 'EmailUsernameCenaTelefonImage URLCreated AtVrsta proizvodaStatus proizvoda';

puzzleData.forEach(entry => {
tableHtml += '';
tableHtml += `${entry.email}`;
tableHtml += `${entry.username}`;
tableHtml += `${entry.cena}`;
tableHtml += `${entry.telefon}`;
tableHtml += `
Изображение
`;
tableHtml += `${entry.created_at}`;
tableHtml += `${entry.sorta}`;
tableHtml += '';
tableHtml += ``;
if (entry.status === null) {
tableHtml += 'Izaberite status';
}
tableHtml += `Prihvaćen`;
tableHtml += `Odbijen`;
tableHtml += ``;
tableHtml += '';
// tableHtml += '';
});

tableHtml += '';

document.getElementById('puzzle-table').innerHTML = tableHtml;
} catch (error) {
console.error('Error loading puzzle data:', error);
alert('Error loading puzzle data: ' + error.message);
}
}

async function updateStatus(selectElement, id) {
const newStatus = selectElement.value;
const email = selectElement.parentElement.parentElement.querySelector('td:first-child').textContent;
const selectedOptionText = selectElement.options[selectElement.selectedIndex].text;

const url = 'https://kvxswebzyfogzgiclagy.supabase.co';
const key = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6Imt2eHN3ZWJ6eWZvZ3pnaWNsYWd5Iiwicm9sZSI6ImFub24iLCJpYXQiOjE3MDg0NjA5NDcsImV4cCI6MjAyNDAzNjk0N30.hLJFmnkA-2oNgXoJT7-aRIo0vHD_V8QFvqtYz1AkK_Q';
const _supabase = supabase.createClient(url, key);
try {
const { data, error } = await _supabase
.from('puzzle')
.update({ status: newStatus })
.eq('id', id);
if (error) {
throw error;
}

// sendEmail(data.email, newStatus); // Poziv funkcije za slanje mejla
// AJAX poziv ka PHP skripti sendEmail.php
$.ajax({
type: 'POST',
url: 'send.php',
data: {

email: email,
newStatus: newStatus,
subject:'Ažuriran status proizvoda',
message: `Vaš zahtev za proizvod je ažuriran u: ${selectedOptionText}`

},
success: function(response) {
console.log('Email poslat: ' + response);
},
error: function(xhr, status, error) {
console.error('Greška prilikom slanja emaila:', error);
}
});

console.log('Status updated successfully:', data);
} catch (error) {
console.error('Error updating status:', error);
alert('Error updating status: ' + error.message);
}
}

loadPuzzleTable();



Подробнее здесь: https://stackoverflow.com/questions/783 ... ith-supaba
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»