İyinet'e Hoşgeldiniz!

Türkiye'nin En Eski Webmaster Forum'una Hemen Kayıt Olun!

Kayıt Ol!

Tuhaf bi durum var switch fonksiyonu çalışmıyor

BordoMavi

0
İyinet Üyesi
Katılım
31 Ekim 2007
Mesajlar
176
Reaction score
0
Konum
Hirçın Sulardan
PHP:
<?
switch($icerik){
case hizmetler:
echo "hizmetler buraya eklenecek";
break;

case hakkimizda:
echo "hakkımızda buraya eklenecek";
break;

case iletisim:
echo "iletişim bilgileri buraya eklenecek";
break;

}
?>
kodum yukarda verdiğim şekilde herhangi bir hata yok. kod dün çalışıyordu fakat bugün sadece ftpsine girip bikaç düzenleme yaptım ve linklere tıkladığımda urller case lere gidiyor fakat caselerin içeriği sayfada hiçbir şekilde görüntülenmiyor. 4 ayrı bilgisayardan denedim firefox ve internet explorerda kullandım fakat sürekli durum aynı daha önceden yapmış olduğum bir site vardı orası içinde aynı durum geçerli ftpye girdikten sonra şuan admin panelindeki caselerin hiç biri ekrana basılmıyor. ayrıca 2 farklı hosttada denedim. sayfalarda herhangi bir kod eklenmesi veya dizinde farklı bir dosyada yok sabah 11 den beri uğraşıyorum birşey bulamadım başına gelen biri varsa yardımcı olursa sevinirim veya ne yapacağımı bilen biri şimdiden teşekkürler
 

zbahadir

0
İyinet Üyesi
Katılım
19 Mart 2006
Mesajlar
2,416
Reaction score
0
Konum
Trabzon
Kodlarda bir sorun yok;
$icerik değişkenine atanan verilerde bir sorun olabilir.
scwitch fonksiyonunun hemen üstünde;
echo $icerik;
şelinde görüntüleyerek içeriğin doğru gelip gelmediğini test edebilirsiniz.
 

yagmayok

1
İyinet Üyesi
Katılım
25 Ocak 2005
Mesajlar
7,131
Reaction score
89
Eğer sorunu halledemediyseniz birde şu şekilde deneyin ?

PHP:
<?

function hizmetler(){
 ?>
hizmetler bölümü
<?  }

function hakkimizda(){
 ?>
hakkımızda bölümü

<?  }
function iletisim(){	
?>
iletişim bölümü

<?
}
switch($_GET['icerik']){

case "hizmetler";
hizmetler();
break;

case "hakkimizda";
hakkimizda();
break;

case "iletisim";
iletisim();
break;

}
?>
 

BordoMavi

0
İyinet Üyesi
Katılım
31 Ekim 2007
Mesajlar
176
Reaction score
0
Konum
Hirçın Sulardan
gelen değişkenlerde bir proıblem yok her zaman yaptığım gibi index.php?icerik=hizmet şeklinde çağırıyorum ve test etmek içinde sadece echoyla ekrana yazı yazdırıyorum fakat ne yazıkki hiç bir şekilde ekranda yazılar görüntülenmiyor. tuhaf olan şu switche default değerini atadığımda o ekranda görünüyor. ayrıca switch yerine if ile kontrol yaptım fakat ne olduysa çalışan kod bir türlü çalışmıyor @yagmayok senin verdiğin çalıştı fakat daha önce yüzlerce defa yazdığım aynı kod hatta çalıştığını gördüğüm kod şuan çalışmıyor.

düzeltme:
$_GET[] kullanınca herhangi bir problem çıkarmıyor şuan için bu bana yeterli teşekkür ederim @yagmayok
 

yagmayok

1
İyinet Üyesi
Katılım
25 Ocak 2005
Mesajlar
7,131
Reaction score
89
İlk verdiğiniz kodda yer alan echo $icerik; yaptığınızda hizmet, hakkimizda vs... çıkıyordu dimi ?
 

Grafix

0
İyinet Üyesi
Katılım
16 Aralık 2006
Mesajlar
1,153
Reaction score
0
Konum
Bursa
sorun case değerini tırnak içine almaman.

PHP:
case hizmetler:
echo "hizmetler buraya eklenecek";
break;

şeklinde değil,

PHP:
case "hizmetler":
echo "hizmetler buraya eklenecek";
break;

şeklinde kullanman gerekiyor.
 

BordoMavi

0
İyinet Üyesi
Katılım
31 Ekim 2007
Mesajlar
176
Reaction score
0
Konum
Hirçın Sulardan
@grafix cevap için teşekkür ederim fakat $icerik değişkenini $_GET['icerik'] yapmadığım sürece caseleri hiçbir şekilde görmüyor daha öncedende tırnaksız kullanıyordum fakat çalışıyordu 2 gündür çalışmıyor sadece.

@yagmayok echoyu yalnız kullandığımda herhangi bir sorun yaşamıyordum ama değişkeni $_GET[] ile kullanmadığımda içerik hiç bir şekilde görüntülenmiyor. neyse bu çözüm şimdilik bana yeterli hepinize teşekkür ederim.
 

BordoMavi

0
İyinet Üyesi
Katılım
31 Ekim 2007
Mesajlar
176
Reaction score
0
Konum
Hirçın Sulardan
uzun zaman sonra sorunu çözdüm aslında sorun register globals ın kapalı olmasından kaynaklanıyormuş. diğer arkadaşlarında işine yarar diye yeni bir konu açmadan çözümünü yazıyorum. sayfanın en tepesinde bir yere

$icerik = $_REQUEST['icerik'];

şeklinde yazdığımızda sorun ortadan kalkıyor.
 

Angelo

0
İyinet Üyesi
Katılım
13 Aralık 2004
Mesajlar
9,603
Reaction score
111
Konum
AZ
register_globals zaten artık kullanılmayan bir özellik, tüm kodları _GET, _REQUEST e uygun yazmakta fayda var.
 

Türkiye’nin ilk webmaster forum sitesi iyinet.com'da forum üyeleri tarafından yapılan tüm paylaşımlardan; Türk Ceza Kanunu’nun 20. Maddesinin, 5651 Sayılı Kanununun 4. maddesinin 2. fıkrasına göre, paylaşım yapan üyeler sorumludur.

Backlink ve Tanıtım Yazısı için iletişime geçmek için Skype Adresimiz: .cid.1580508955483fe5

Üst