Doğru Cevap
-
register_globals'dan olabilir. off olması gerekiyor, bir kontrol edin isterseniz.
-
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
$adet değişkeni yukarıda yazdığım kodlar dışında hiç bir yerde çalışmıyor.11 yıl önce yazılmış -
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
-
$_SESSION["adet"][$i]=$adet
olarak deneyip sonucu yazarmısın.. session buyuk harf kullanarak dene-
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
$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ış
-