$veritabanim = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];

if (isset($_COOKIE['kalanlar'])) {
$hepsi = json_decode($_COOKIE['veritabanim'], 1);
if (count(array_diff($veritabanim, $hepsi))) {
$al = [];
foreach (array_diff($veritabanim, $hepsi) as $item) {
$al [] = $item;
}
$al = array_unique($al);
}
elseif ($_COOKIE['kalanlar'] == 'bitti') {
$al = 'Hiç sayı kalmadı';
} else {
$al = json_decode($_COOKIE['kalanlar'], 1);
}
} else {
$al = $veritabanim;
}
if (is_array($al)) {
$rastgele = $al[rand(0, count($al) - 1)];
echo 'Rastgele sayı: '.$rastgele;
$key = array_search($rastgele, $al);
unset($al[$key]);
if (count($al) == 0) {
$son_hali = 'bitti';
} else {
$son_hali = array_values($al);
$son_hali = json_encode($son_hali);
}
setcookie("kalanlar", $son_hali, time() + 86400 , '/');

} else {
echo $al;
}

setcookie('veritabanim', json_encode($veritabanim), time()+86400, '/');


Abdullahx Hocam bu kod işimi gördü tekrardan teşekkür ederim. Bir sorunum var.

Bu sayfamın başındaki $veritabanim değişkenimi farklı bir sayfadan çekiyorum.

3 Tane sayfam var. Yani 3 tane $vertabanim değişkeni.

1.sayfadaki

$veritabanim = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];

2.sayfadaki

$veritabanim = [ 3, 4, 5];

3.sayfadaki

$veritabanim = [ 4, 5,6,7];

3 Adet buton var. 1.buton yazdığın koda 1.sayfadaki $veritabanim ı dahil ediyor.
2 buton sayfa 2 yi 3 buton sa sayfa 3 ü.

3. butona 4 sefere tıklandığında çekilen sayı bitiyor. Çok hoş. Diğer butona tıkladığında önceki sayfa gösterdiklerini tekrar gösteriyor ,göstermesin istiyorum. 3.butona bastık 2 kez 4,5 i gösterdi. diğer 2. butondaki $veritabim değişkeninden onları gösterdiği için tekrar göstermemesini nasıl yapabiliriz.

Kod daha önce ki istediğimi tıkır tıkır yapıyor, tekrardan Allah razı olsun. Dediğim şekilde yapımı mümkün mü? Kodun mimarı olarak yardımcı olabilir misin?