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.