( ! ) Notice: Undefined index: sicaklik in C:\wamp\www\phpaft\yeni_2.php on line 2Call Stack#TimeMemoryFunctionLocation10.0001392448{main}( )...\yeni_2.php:0 ( ! ) Notice: Undefined index: sicaklik2 in C:\wamp\www\phpaft\yeni_2.php on line 3Call Stack#TimeMemoryFunctionLocation10.0001392448{main}( )...\yeni_2.php:0Sabah sicaklik C dereceAksam sicaklik C dereceSabah hava sicakligi Sibirya soğuğu gibiAksam hava sıcaklıgı Sibirya sogugu gibi
Arkadaşlar aranıza yeni katıldım bu php kodum çalışmıyor hatanın nerde olduğunu anladınız mı? Bilgisayar güvenliği okuyorum bana yardımcı olursanız sevinirim < Bu mesaj bu kişi tarafından değiştirildi lol_katarina -- 3 Kasım 2021; 22:50:0 > |
PHP HATASI
-
-
$deger2 değişkeninin değerine göre sonuç yazdırdığın ikinci if döngüsünde "else if" lerde and'den önce ve sonra kullandığın değişkene dikkat et!!!
if ($deger2 <= -50)
...
else if ($deger2 > -50 and $deger <= 0)
...
else if ($deger2 > 0 and $deger <= 20)
...
else if ($deger2 > 20 and $deger <= 40)
...
else
...
Görebildin mi?
-
Post ettiğin değerleri bulamıyor. Formda name="sicaklik" ve name="sicaklik2" olan iki alan olmalı.
değerleri çekerken isset ile kontrol yapmanız faydalıdır.
-
<html> <body> <form action="yeni_2.php" method="post"> <input type="text" id="sicaklik" value="Sabah hava sicakligini giriniz"><br> <input type="text" id="sicaklik2" value="Aksam hava sicakligini giriniz"><br> <input type="submit" value="Gonder"> <input type="reset" value="Temizle"> </form> </body> </html>
Kod
Yığını:bu html dosyam.Sizce burda bi hata var mı?
-
Kusura bakmayın bulamadım.Tam olarak gösterebilirseniz.Öğrenciyim daha hata kodlarını anlayamıyorum.
değişkende bir problemmi var sizce
-
Ben id yazmıştım name yazıp deniyorum bekleyin...
-
name yazınca düzeldi teşekkürler
-
br eklemem gerekiyo tşk
-
rica ederim
-
Başlangıç seviyesi için önemli olmasa da, ileride proje geliştirirken saç baş yolmamak için değerleri kontrol etmek gerekir.
if (isset($_POST['sicaklik'] && !empty($_POST['sicaklik']) ... gibi.
Tabi post verisini doğrudan kullanmak güvenlik açısından risk oluşturacağından bazı filtreleme işlemleri yapmak gerekir.
Örneğin gönderilen değer bir tamsayı olması gerekiyorsa $sicaklik = intval($_POST['sicaklik']) gibi bir filtreleme yapabilirsiniz.
Daha gelişmiş türler de vardır elbette. Bir kontrol fonksiyonu yazıp fonksiyondan geçirmek de farklı bir seçenek olur.
< Bu mesaj bu kişi tarafından değiştirildi kombimuhendisi -- 7 Kasım 2021; 22:10:52 > -
Benim anlatmak istediğim PHP hata kodları ile ilgili değil. Kodlama ile ilgili. Kodlar bu şekilde hata vermez ama istenen sonucu da vermez. Örneğin denemek için PHP kodunu çalıştırıp sıcaklık değerleri olarak:
Sabah sicaklik -5 °C derece
Aksam sicaklik 45 °C derece
değerlerini girelim. Evet belki saçma örnek oldu. Sabah -5 derece iken akşam sıcaklığı nasıl 45 derece oluyor diyebilirsiniz. Bu değerleri programın hatalı sonuç üretmesi için verdim. Sonuçlara bakalım:
Sabah hava sıcaklığı çok düşük
Aksam hava sıcaklığı çok düşük
Akşam hava sıcaklığı 45 derece girdiğimiz halde program bize "Aksam hava sıcaklığı çok düşük" diyor. Bu istediğimiz bir sonuç mu? 45 derece hava sıcaklığı düşük mü? Evet, tam da bu sonucu istiyorduk diyorsanız benim tüm yazdıklarımı yok sayabilirsiniz. Yooo bu işte bir yanlışlık var diyorsanız. Önceki mesajımı tekrar okuyunuz. Değişkenleri koyu olarak yazdım onlara dikkat ediniz.
İlk yazdığınız if bloğu doğru olarak çalışır. Sabah sıcaklık sonuçları hep doğru şekilde yazar ama akşam sıcaklık sonuçları böyle yanlış sonuçlar verebilir.
Anlaman için açıklamaya çalıştım ama lafı daha fazla uzatmayalım. Bence ($deger2) akşam sıcaklığının kontrol edildiği ikinci if bloğu şu şekilde olmalıydı.
if ($deger2 <= -50) { echo "Aksam hava sıcaklıgı Sibirya sogugu gibi"; } else if ($deger2 > -50 and $deger2 <= 0) { echo "Aksam hava sıcaklığı çok düşük"; } else if ($deger2 > 0 and $deger2 <= 20) { echo "Aksam hava serin"; } else if ($deger2 > 20 and $deger2 <= 40) { echo "Aksam hava sicak"; } else { echo "Hava gece asırı sıcak"; }Kod
Yığını:Bu şekilde çalıştırınca akşam sıcaklığı için 45 dereceye çok düşük demiyor
-
Teşekkürler arkadaşlar:)
Bu mesaj IP'si ile atılan mesajları ara Bu kullanıcının son IP'si ile atılan mesajları ara Bu mesaj IP'si ile kullanıcı ara Bu kullanıcının son IP'si ile kullanıcı ara
KAPAT X