Try using Ajax and COOKIES, you create a PHP file that adds the requests to the list (which would be the cookie) and puts a javascript function that calls this file via ajax on the "OK" button , takes the response from the XML file and adds it to the page with JS.
Example of how I used it in a project:
PHP:
<?php // Página que adiciona os produtos no carrinho
$id = $_GET['id']; // ID do produto selecionado
if (!isset($_COOKIE['carrinho'])) { // Verifica se o carrinho está vazio
$carrinho = [0 => $id]; // A 1ª posição do array $carrinho (criado aqui) recebe o id do produto
setcookie('carrinho', serialize($carrinho), time()+60*60*24*14, '/'); // Serializa o array no COOKIE carrinho
} else {
$carrinho = unserialize($_COOKIE['carrinho']); // Se não estiver vazio, cria um array com todos os produtos do carrinho
$colocar = false; // Booleano que uso pra não repitir o mesmo produto
// Checo se o produto selecionado já está no carrinho
for ($i=0; $i < count($carrinho); $i++) {
if (!(in_array($id, $carrinho))) {
$colocar = true;
}
}
// Só adiciono ao carrinho se não tiver o produto nele ainda
if ($colocar == true) {
$carrinho[] = $id;
}
// Serializo o array dentro do COOKIE carrinho
setcookie('carrinho', serialize($carrinho), time()+60*60*24*14, '/');
}
// Mando o número de produtos no carrinho como resposta, apenas para atualizar a tela do usuário
echo count($carrinho);
?>
JS:
// Função que adiciona o produto no carrinho
function adicionarCarrinho(id) {
id = $(id).val(); // Pego o ID do produto como parâmetro (vc pode colocar o id no value do botão)
AjaxRequest();
if (!Ajax) {
alert("Erro na chamada Ajax");
} else {
Ajax.onreadystatechange = respostaCarrinho;
Ajax.open('GET', '_assets/ajax/adicionarCarrinho.php?id='+id); // Mando o ID para a página PHP por meio do Ajax
Ajax.send(null);
Ajax.close;
}
}
// Função de resposta
function respostaCarrinho() {
if (Ajax.readyState == 4) {
if (Ajax.status == 200) {
$("#itens").text(Ajax.responseText); // Mudo o valor escrito no carrinho
if (Ajax.responseText == '0') {
alert('Você não tem produtos no carrinho');
window.location.href='index.php'
}
}
}
}