Merhaba arkadaşlar,

Aslında sorunum basit bir sorun gibi duruyor ama bir türlü içinden çıkamadım.

//index.php

$row = random_user_id();
$random_id = $row['user_id'];

$view = empty($_GET['view']) ? 'home' : $_GET['view'];

switch($view){
    
  case 'home':
        $page_title = 'home';
        $layout = 'home';

  break;

  case 'random_detail':
        $page_title = 'Random Detail';
        $columns = array('kolon1','kolon2','kolon3','kolon4','kolon5','kolon6');
  
  break;
  
   
  case 'person_detail':
        $page_title = 'Person Detail';
  
  break;
}
include($_SERVER['DOCUMENT_ROOT'].'/views/layouts/'.$controller.'.php');
$random_user_id() fonksiyonu veritabanından rastgele bir user_id alıyor bunu da
$random_id değişkenine atıyor. Adres satırından aldığı view değerine göre de
switc'in içindeki home.php , person_detail.php, random_detail.php gibi sayfaları index.php'nin içine include ediyor.

Ama her include işleminden sonra index.php yeniden yüklendiği için $random_id
değişiyor. Kod gereği benim ilk $random_id'yi kullanmam gerek. $random_id sadece home.php yeniden yüklendiğinde değişmeli.

Mesela view=random_detail iken random_detail.php index.php'nin içine include oluyor, ama bu esnada index.php yeniden yüklendiği için $random_id değeri değişmiş oluyor. Sonuçta da benim istediğim(ilk baştaki) $random_id için değil de başka bir $random_id için random_detail.php dosyası çalışmış oluyor.

$random_id 'yi random_detail.php içerisinde tanımlamak bir çözüm olabilirdi. Ama bu sefer de view=person_detail iken $random_id'ye ulaşamayacağım.

Yani, $random_id'yi sadece home.php yüklendiğinde değiştirip view ın diğer değerleri için değişmemesini sağlamam nasıl mümkündür.