-
Üyelik
03.04.2019
-
Yaş/Cinsiyet
29 / E
-
Meslek
.
-
Konum
Trabzon
-
Ad Soyad
A** K**
-
Mesajlar
905
-
Beğeniler
393 / 395
-
Ticaret
3, (%100)
Ben de teşekkür ederim, iyi kodlamalar :)
1 kişi bu mesajı beğendi.
-
Üyelik
03.04.2019
-
Yaş/Cinsiyet
29 / E
-
Meslek
.
-
Konum
Trabzon
-
Ad Soyad
A** K**
-
Mesajlar
905
-
Beğeniler
393 / 395
-
Ticaret
3, (%100)
Hocam bu kodları deneyin bakalım bir yerlerde hata verecek mi?
if ($_POST) {
if ($_POST['y'] == 1)
$veritabanim = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 16, 19, 23, 31];
elseif ($_POST['y'] == 2)
$veritabanim = [2, 9, 6, 4, 12, 8, 11, 76, 3];
elseif ($_POST['y'] == 3)
$veritabanim = [3, 4, 9, 15, 18, 20, 1, 88, 99, 2];
} else
$veritabanim = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 16, 19, 20, 21, 44, 96, 77];
if (isset($_COOKIE['rastgele'])) { // Eğer rastgele çerezi varsa
$oncekiVeri = json_decode($_COOKIE['rastgele'], 1); // Bütün veriyi alalım
$vt = array_values(array_unique(array_merge($veritabanim, $oncekiVeri['vt']))); //Sayfaya son gelen veri tabanı değişkeni ile çerezdeki veri tabanı değişkenini birleştirip düzenleyelim
$bulunanlar = $oncekiVeri['bulunanlar']; // Çerezdeki bulunan sayıları alalım
$kalanlar = $oncekiVeri['kalanlar']; // Çerezdeki kalan sayıları alalım
if (count(array_diff($veritabanim, $kalanlar))) { // Eğer son gelen veri tabanında kalan sayılardan farklı bir sayı gelirse onu da kalanlara ekle
foreach (array_diff($veritabanim, $kalanlar) as $item) {
if (!in_array($item, $bulunanlar))
$kalanlar [] = $item;
}
$kalanlar = array_unique($kalanlar); // Kalanlarda oluşlabilecek tekrarları engelle
}
}
else {
$vt = $veritabanim;
$bulunanlar = [];
$kalanlar = $veritabanim;
}
$son_kalanlar = array_filter($kalanlar, function ($item) use ($bulunanlar) {
return !in_array($item, $bulunanlar); // toplam sayılardan önceden bulunanları çıkartıyoruz
});
$son_kalanlar = array_values($son_kalanlar); // Son kalanları sıraya koyalım
if (count($son_kalanlar)) { // Eğer son kalanlarda eleman kaldıysa
$rastgele = $son_kalanlar[rand(0, count($son_kalanlar) - 1)]; // Rastgele sayı oluşturalım
$bulunanlar [] = $rastgele; // Bulduğumuz sayıyı bulunanlara ekleyelim
asort($bulunanlar); // Bulunanları sıraya koyalım
$key = array_search($rastgele, $son_kalanlar); // Bulduğumuz rastgele sayının key ini bulalım
unset($son_kalanlar[$key]); // Bulduğumuz rastgele sayıyı son kalanlardan silelim
$son_kalanlar = array_values($son_kalanlar); // Rstgele bulma işleminden sonra kalan sayıları sıralayalım
echo "Rastgele sayı: $rastgele
";
$datas = [
'vt' => $veritabanim,
'bulunanlar' => $bulunanlar,
'kalanlar' => $son_kalanlar
];
setcookie('rastgele', json_encode($datas), time() + 86400 * 10, '/');
} else {
echo 'Hiç sayı kalmadı';
}
?>
1 kişi bu mesajı beğendi.
xphp
WM Aracı
Kullanıcı
-
Üyelik
11.04.2020
-
Yaş/Cinsiyet
22 / E
-
Meslek
Öğrenci
-
Konum
Sakarya
-
Ad Soyad
M** B**
-
Mesajlar
39
-
Beğeniler
31 / 9
-
Ticaret
0, (%0)
Hocam 2. butona bastığımda 1. ve 3.butonla atması gereken değerleri atıyor.
-
Üyelik
03.04.2019
-
Yaş/Cinsiyet
29 / E
-
Meslek
.
-
Konum
Trabzon
-
Ad Soyad
A** K**
-
Mesajlar
905
-
Beğeniler
393 / 395
-
Ticaret
3, (%100)
Beynim şu birkaç gündür çalışmıyor sanırım :) Şimdi olmuş olsa gerek
if (isset($_POST['temizle']))
setcookie('rastgele', false, time() - 3600, '/');
if (isset($_POST['y'])) {
if ($_POST['y'] == 1)
$veritabanim = [1,2,3,4,5,7,10,13];
elseif ($_POST['y'] == 2)
$veritabanim = [4,5,7,9,8,44,61];
elseif ($_POST['y'] == 3)
$veritabanim = [3, 4, 9, 61, 55];
} else
$veritabanim = [1, 2, 3, 4, 5, 6, 7, 8, 40];
if (isset($_COOKIE['rastgele'])) { // Eğer rastgele çerezi varsa
$oncekiVeri = json_decode($_COOKIE['rastgele'], 1); // Bütün veriyi alalım
$vt = array_values(array_unique(array_merge($veritabanim, $oncekiVeri['vt']))); //Sayfaya son gelen veri tabanı değişkeni ile çerezdeki veri tabanı değişkenini birleştirip düzenleyelim
$bulunanlar = $oncekiVeri['bulunanlar']; // Çerezdeki bulunan sayıları alalım
$kalanlar = $oncekiVeri['kalanlar']; // Çerezdeki kalan sayıları alalım
if (count(array_diff($veritabanim, $kalanlar))) { // Eğer son gelen veri tabanında kalan sayılardan farklı bir sayı gelirse onu da kalanlara ekle
foreach (array_diff($veritabanim, $kalanlar) as $item) {
if (!in_array($item, $bulunanlar))
$kalanlar [] = $item;
}
$kalanlar = array_unique($kalanlar); // Kalanlarda oluşlabilecek tekrarları engelle
}
}
else {
$vt = $veritabanim;
$bulunanlar = [];
$kalanlar = $veritabanim;
}
$son_kalanlar = array_filter($kalanlar, function ($item) use ($veritabanim) {
return in_array($item, $veritabanim);
});
$son_kalanlar = array_values($son_kalanlar); // Son kalanlarısıraya koyalım
if (count($son_kalanlar)) { // Eğer son kalanlarda eleman kaldıysa
$rastgele = $son_kalanlar[rand(0, count($son_kalanlar) - 1)]; // Rastgele sayı oluşturalım
$bulunanlar [] = $rastgele; // Bulduğumuz sayıyı bulunanlara ekleyelim
asort($bulunanlar); // Bulunanları sıraya koyalım
$key = array_search($rastgele, $son_kalanlar); // Bulduğumuz rastgele sayının key ini bulalım
unset($son_kalanlar[$key]); // Bulduğumuz rastgele sayıyı son kalanlardan silelim
$son_kalanlar = array_values($son_kalanlar); // Rstgele bulma işleminden sonra kalan sayıları sıralayalım
echo "Rastgele sayı: $rastgele
";
$datas = [
'vt' => $veritabanim,
'bulunanlar' => $bulunanlar,
'kalanlar' => $son_kalanlar
];
setcookie('rastgele', json_encode($datas), time() + 86400 * 10, '/');
} else {
echo 'Hiç sayı kalmadı';
}
?>
1 kişi bu mesajı beğendi.