PHP'de Parametre Ekleyerek Kendi Kendine Yönlendirme
index.php sayfasında
arg adında bir
GET parametresi iletilsin.
İçeriğini ekrana yazdıralım:
<?php
echo $_GET['arg'];
?>
GET parametresi olmadan sayfamızın
doğru çalışamayacağını varsayalım.
Bizim durumumuzda bu doğru, çünkü parametre
iletilmezse, $_GET['arg'] erişimi
bir hataya yol açacaktır.
İnsanın neden genel olarak parametresiz sayfamıza gireceği sorusu akla gelebilir? Sonuçta sitemizde her yere bu parametreyle bağlantılar koyabiliriz. Ancak, bu bir garanti değildir: sitemizin kullanıcısı, örneğin, bir yerden bağlantıyı kopyalarken parametreyi kaybedebilir. Veya sadece adres çubuğunu düzenlerken yanlışlıkla silebilir.
Her durumda, kodumuz böyle bir durumu göz önünde bulundurmalı ve onunla bir şeyler yapmalı. Ne yapılabilir?
GET parametremizin varlığını kontrol edebilir ve sadece mevcutsa onu yazdırabiliriz:
<?php
if (isset($_GET['arg'])) {
echo $_GET['arg'];
} else {
// bir şekilde tepki ver, örneğin bir mesajla
}
?>
Daha kurnazca davranılabilir:
<?php
if (!isset($_GET['arg'])) {
$_GET['arg'] = 'default'; // varsayılan değer
}
echo $_GET['arg']; // hatasız bir şekilde garanti bir şey yazdırır
?>
Veya parametresiz sayfaya girişte, aynı sayfaya parametre ile yönlendirme yapılması sağlanabilir:
<?php
if (!isset($_GET['arg'])) {
header('Location: ?arg=default');
}
echo $_GET['arg']; // parametre garantili var
?>
İkinci seçenek ile üçüncü seçenek arasındaki farkı anlatın.
page.php sayfasında,
num adındaki GET parametresi kullanılarak
bir sayı iletilebilsin.
Bu parametre olmadan girildiğinde, otomatik olarak
aynı sayfaya, ancak num parametresi
1 değerinde olacak şekilde yönlendirme yapılmasını sağlayın.