<?php
$addresses = [
'https://domain1.com',
'https://domain2.com',
'https://domain3.com',
'https://domain4.com',
'https://domain5.com',
];
$size = count($addresses);
$randomIndex = rand(0, $size - 1);
$randomUrl = $addresses[$randomIndex];
header('Location: ' . $randomUrl, true, 303);
?>Yönlendirmelerde karışık atamasını istemiyorum, yani ilk sayfaya gidildiğinde domain1 e sonraki giren kişinin domain2'ye sonra domain3'e sırayla yönlendirtebileceğim bir yolu var mıdır ? Bu şekilde random sağlatabiliyorum fakat dizinden sırayla yaptıramadım. Teşekkürler
Php ile çoklu header url yönlendirmesi.
8
●152
- 11-04-2022, 18:01:09
- 11-04-2022, 18:26:35Aynen hocam sırayla 5belirtilen domainlere gidecek, karışık gitsin istemiyorumoktayc0 adlı üyeden alıntı: mesajı görüntüle
- 11-04-2022, 18:31:13Bunun içi veritabanı veya json veya txt gibi birşeyde ufakta olsa bir kayıt tutmalısın.
Ben sana .txt için bir örnek burakıyorum.
$dosya = fopen('son_site.txt','r'); $son_url = fgets($dosya); fclose($dosya); $addresses = array( 0 => 'https://domain1.com', 1 => 'https://domain2.com', 2 => 'https://domain3.com', 3 => 'https://domain4.com', 4 => 'https://domain5.com', ); if ($son_url >= count($addresses)) { $son_urlx = 0; } else { $son_urlx = $son_url + 1; } $dosya = fopen("son_site.txt","w+"); fwrite($dosya,$son_urlx); fclose($file); header("Location: ".$addresses[$son_url]); - 11-04-2022, 19:01:09Bios pili olmadan bir sonraki açılışta bilgisayar saati sıfırlanır.cheavart adlı üyeden alıntı: mesajı görüntüle
Burada da aynı prensip geçerli, önceki datayı bir şekilde elde tutman gerekli.
Önceki kullanıcı eğer 3. siteyi ziyaret ettiyse, 3. sitenin verisini bir yerde tutmalısın ki, bir sonraki kullanıcı geldiğinde nereden devam edeceğini bilsin.
Başka yöntem var ama kesinlik sağlamaz.
Ayrıca bu tarz ufak işlemler hiç bir yavaşlama yapmayacaktır.
Sitenizdeki bir logonun sayfanızın açılış hızına etkisinin 10'da 1'i kadar etki bile yapmayacak kadar ufak bir işlem bu.
- 11-04-2022, 20:54:32Evet dediklerinize hak veriyorum fakat ilginç bir şekilde txt okuyup yazarken bazen saçmalıyor anlam veremedim fakat sizin verdiğiniz kodda bir sorun çıkmadı. Çok teşekkür ederim hocam, peki 5 yönlendirmeden sonra 6. giren için yönlendirme yapmıyor. Sonra 7. tekrar 1 den başlıyor. Bu sorunu nasıl çözebilirim ?
- 11-04-2022, 21:44:17Aslında kontrolü kodların içine eklemiştim.cheavart adlı üyeden alıntı: mesajı görüntüle
Örneğin son kullanıcı 4. siteye girdi ve sizinde 4 url'niz var.
4. url'ye uğrayan kullanıcı, toplam urllerin gezildiğini işaretler ve bir sonraki kullanıcı için adımı sıfırlar ve 0. indis'e geri döndürür.
Bir satır kaçırmışım yazarken, altta düzeltilmiş halini bıraktım, birde böyle denermisin.
if ($son_url >= count($addresses)) { $son_urlx = 0; $son_url = count($addresses) - 1; # BU SATIRI EKLE } else { $son_urlx = $son_url + 1; } - 11-04-2022, 21:48:43Çook teşekkür ederim hocam sorun çözülmüştüroktayc0 adlı üyeden alıntı: mesajı görüntüle