Kodları lütfen aşağıdaki butonları kullanarak renklendirin. Örnek: <php> echo "Selam Dünya"; </php>
Yardım
karakter kaldı

$_Session["adet"][$i]=$adet betiğindeki sorun

Merhaba ,

$_Session["adet"][$i]=$adet bu şekilde bir kullanım yaptığımda $_session kafayı yiyor.$adet değişkenine farklı bir isim veridğimde ise sorun yok.Bu "adet" ile aynı olmasından kaynaklanıyor ama nedeni hakkında bilgi verirseniz sevinirim.
+0
-0
Cevaba KatılıyorumKatılmıyorum
Cevap Yaz Yorum Yaz Arşivime Ekle Takip Et

Doğru Cevap

  • madpoet adlı üyenin fotoğrafı
    11 yıl önce yazılmış
    84 cevap - 1 soru
    register_globals'dan olabilir. off olması gerekiyor, bir kontrol edin isterseniz.
    • kres adlı üyenin fotoğrafı kres
      register_globals on
      yabancı forumlarda da buna benzer yorumlar var fakat tam olarak bundan nasıl etkilendiğini anlayaamadım.
      11 yıl önce yazılmış
    • kres adlı üyenin fotoğrafı kres
      $adet değişkeni yukarıda yazdığım kodlar dışında hiç bir yerde çalışmıyor.
      11 yıl önce yazılmış
    • madpoet adlı üyenin fotoğrafı madpoet
      register_globals on olduğunda $_SESSION, $_GET, $_POST, $_COOKIE içerisindeki değişkenler $degisken şekline çevrilir.

      Örnek: $_SESSION['adet'] $adet olur, $_POST['adet'] de $adet olur vs. O yüzden muhtemelen karışıklık çıkıyor.

      register_globals php ilk çıktığında kolaylık olsun diye yapılmış birşeydi ama bu ve bunun gibi başka bir sürü soruna ve hatta güvenlik açıklarına neden olduğu için artık kullanılmıyor. PHP 6'da tamamen kaldırılacaktı en son ne oldu bilmiyorum.
      11 yıl önce yazılmış

Cevaplar

  • siyahbeyaz adlı üyenin fotoğrafı
    11 yıl önce yazılmış
    472 cevap - 20 soru
    $_SESSION["adet"][$i]=$adet

    olarak deneyip sonucu yazarmısın.. session buyuk harf kullanarak dene
    • kres adlı üyenin fotoğrafı kres
      if($_GET['d']=="guncelle"){ 
      $k=0; 
      $say=count($_SESSION['uid']); 
      while ($k<$say) { 
      if($_SESSION["uid"][$k]!=0){ 
      $adet=$_POST['item'.$k]; 
      if(is_numeric($adet) && $adet >0){ 
      $_SESSION['adet'][$k]=$adet; 
      }	
      } 
      $k++; 
      } 
      } 
      
      print_r($_SESSION["adet"]); 
      



      kodlar bu şekilde get ile d=guncelle yollamadan önce
      Array ( [0] => 1 [1] => 1 [2] => 1 ) sonuc bu.

      get ile d=guncelle yolladıktan sonra
      $say=3 için ve posttan gelen bilgiler sırasıyla 5 , 4 ,3 için

      sonuc :3 3 (dikkat array yok direk 3 3).

      $_SESSION["adet"][$i]=$adet kullandıktan sonra
      $i=0,1,2 ve $adet=1 for döngüsünde çalıştırılıyor.
      print_r($_SESSION["adet"]) için
      sonuç:1 1


      $adet değişkeninin ismi değiştiğinde sorun düzeliyor.
      11 yıl önce yazılmış
    • siyahbeyaz adlı üyenin fotoğrafı siyahbeyaz
      $adet kısmını ıkı yerde kullanıyor olabilirsiniz..

      ust uste bindirmelerde problem olabilir.
      $adet degiskeniyle isiniz bittiginizde

      unset($adet) ile $adet degiskenini bosaltin...
      11 yıl önce yazılmış