v2.5.2
Giriş yap

Php select hata

brkbrk
468 defa görüntülendi

Arkadaşlar web sitemin admin panelinde sayfa ekleme kısmında kategorilemek için bu şekilde bir şey yapıyorum.
Ancak çalışmıyor. Normal olarak select ile yolladığım veriyi sınayıp ona göre işlem yapması için yazdığım kodları silince bütün sistem çalışır hale geliyor. Bir hata mı yapmışım? PHP de yeniyim ve çok karmaşık işlere giremiyorum ancak eğer bu hatalıysa çözümü nedir ya da alternatif olarak nasıl bir şey kullanabilirim?

(Yazımda hata olabilir copy paste yapmadan paylaşmak için hızlıca yazdım)

<html>
    <form action="kayit.php" method="post">
     <select id="tür" name="tur">
        <option value="Oyun">Oyun</option>
        <option value="Program">Program</option>
    </select>
    </form>
</html>

Kayıt.php

<?php
$tur = $_POST["tur"];
$oyun = "oyun";
$program = "program";

if($tur==$oyun) {

çalışacak kod 

}

if($tur==$program) {

çalışacak kod 

}
?>

Cevap yaz
Cevaplar (3)
egemennk1
1181 gün önce

Optionların içindeki yazılara büyük harfle başlamışsın değişken olarak tanımlarken ise küçük harflerle yazmışsın bundan kaynaklı olabilir.
En alttaki if yerine elseif kullanman yine sorunu çözebilir. Yada if yapısı yerine switch case yapısı kullan.

brkbrk
1181 gün önce

Teşekkürler sorun çözüldü.

batuhan1915
1181 gün önce
<html>
    <form action="kontrol.php" method="post">
     <select id="tür" name="tur">
        <option value="Oyun">Oyun</option>
        <option value="Program">Program</option>
        <option value="Bu Veri Yok">Bu Veri Yok</option>
    </select>
    <input type="submit" value="Gönder" />
    </form>
</html>




<?php
$tur = strtolower($_POST["tur"]);
$oyun = "oyun";
$program = "program";

/*
if($tur==$oyun) {

print('Oyun');

}

if($tur==$program) {

print('Program');

}
*/
switch ($tur) {
  case $oyun:
    //kodlar buraya gelicek
      print('Oyun');
    //kodlar buraya gelicek
    break;
  case $program:
    //kodlar buraya gelicek
      print('program');
    //kodlar buraya gelicek
    break;
  
  //hiçbiri yoksa burası 
  default:
    print('Eşleşen Birşey Yok');
    break;
}
?>

ben kolaylık olsun diye switch yapisiyla kontrol ettirdim sen if ile yapabilirsin ayni mantık sonuçta

strtolower ile gelen veriyi küçük harfe ceviriyoruz kontrol ettirirkende küçük harfle yazılacak