İyinet'e Hoşgeldiniz!

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

Kayıt Ol!

PHP birden fazla değerin checkbox ile okunması

ploop

0
İyinet Üyesi
Katılım
11 Ekim 2004
Mesajlar
6,964
Reaction score
0
Konum
karavan
Checkbox bulunan formlarda genel sorun değerlerin alınmasıymıs sanırım. Lazım oldu arastırırken onu gördüm. Herkes birden fazla değer olursa nasıl alınacağını soruyor forumlarda. Buraya yazayım, herkes kolayca yapsın:

Asağıdaki gibi çoklu checkboxlarda gönderilen veri bir tane olur. Bütün hepsini almak için:

Kod:
<input type=checkbox name=kutucuk[] value=1>
<input type=checkbox name=kutucuk[] value=2>
<input type=checkbox name=kutucuk[] value=3>
<input type=submit name=kutugonder value=gönder></p>

PHP kodumuz da bu verileri alt alta sıralıyor.Tabi isterseniz veritabanına da atabilirsiniz :


PHP:
if ($kutugonder) {
while (list ($key,$val) = @each ($kutucuk)) {
echo "$val<br>";
}
exit;
}
 

iyinet

Root
Admin
Hosting Firması
Katılım
2 Eylül 2002
Mesajlar
5,030
Reaction score
73
Konum
Sakarya
Tesekkurler ama bu kod eski tarzda yazilmis.
Register Globals off ise bu kod calismaz, ki artik PHP de kapali olarak geliyor.
 

atay

0
İyinet Üyesi
Katılım
29 Ekim 2005
Mesajlar
3,592
Reaction score
37
register globals için bir alternatif:

Kod:
foreach ($_POST[kutucuk] as $vericik) {
echo $vericik.'<br>';
}
 

iyinet

Root
Admin
Hosting Firması
Katılım
2 Eylül 2002
Mesajlar
5,030
Reaction score
73
Konum
Sakarya
+rep lik bir soru:

Neden GET degil de POST?
Dogru cevabi veren ilk kisiye +rep
 

ploop

0
İyinet Üyesi
Katılım
11 Ekim 2004
Mesajlar
6,964
Reaction score
0
Konum
karavan
GET'in genel görevi almak. Ama POST'u veri depolamak ve baska yere göndermek için de kullanabiliyoruz diye biliyorum.
 

T3chn0

0
İyinet Üyesi
Katılım
26 Ağustos 2006
Mesajlar
2,423
Reaction score
2
chechbox'tan veri gönderdiği için post'u kullanıyor olabilir mi :p
 

Loi

0
İyinet Üyesi
Katılım
13 Kasım 2006
Mesajlar
6,192
Reaction score
44
Konum
localhost
Form action methoduna göre değişir. POST olacak diye bir kaide yok.
 

atay

0
İyinet Üyesi
Katılım
29 Ekim 2005
Mesajlar
3,592
Reaction score
37
GET'in genel görevi almak. Ama POST'u veri depolamak ve baska yere göndermek için de kullanabiliyoruz diye biliyorum.

get: form yollanırken method=get olarak girilmişse veya örneğin sayfa.php?veri=selam gibi bir şekilde sayfaya girildiğinde veri değişkenini alırken kullanılır.

post: form yollarken method post olarak girilmişse (ki genelde öyle girilir, sağlıklısıda odur) kullanılır.
 

ploop

0
İyinet Üyesi
Katılım
11 Ekim 2004
Mesajlar
6,964
Reaction score
0
Konum
karavan
Form gönderme metodu post olduğu için olabilir, GET koyarsak çalısmaz :)
 

iyinet

Root
Admin
Hosting Firması
Katılım
2 Eylül 2002
Mesajlar
5,030
Reaction score
73
Konum
Sakarya
ipucu
Boyle bir kodu 1000 checkbox ile GET kulanarak deneyin bakalim ne oluyor.
 

ploop

0
İyinet Üyesi
Katılım
11 Ekim 2004
Mesajlar
6,964
Reaction score
0
Konum
karavan
Veri boyutu açısından GET sakıncalı oluyor o mu cevap. Çatlamak üzereyim :) Genelde 1kb'dan fazla olacak veri akısında GET'i tavsiye etmiyorlar. Teori var ama pratik yok :p
 

iyinet

Root
Admin
Hosting Firması
Katılım
2 Eylül 2002
Mesajlar
5,030
Reaction score
73
Konum
Sakarya
Veri boyutu açısından GET sakıncalı oluyor o mu cevap. Çatlamak üzereyim :) Genelde 1kb'dan fazla olacak veri akısında GET'i tavsiye etmiyorlar. Teori var ama pratik yok :p

Evet. +rep

POST boyutunu php.ini icinde belirleyebiliyorsunuz, ornegin 2Mb yada 8Mb gibi.
Ama GET boyutu Browser+Server a bagli. Genellikle 1K nin ustu desteklenmiyor.
Ama yine de isi sansa birakmamak icin gonderilen verinin boyu 255 karakterden uzun olursa POST kullanmakta fayda var.
 

proofweb

0
İyinet Üyesi
Katılım
26 Şubat 2010
Mesajlar
213
Reaction score
0
Vay be Yıllar Sonra Get ile Post Arasındaki Farkı Daha İyi Anlamış Olduk :)
 

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.

Üst