Arama butonu
Bu konudaki kullanıcılar: 1 misafir
11
Cevap
314
Tıklama
0
Öne Çıkarma
PHP HATASI
L
4 yıl
Onbaşı
Konu Sahibi

( ! ) 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

<?php
$deger = $_POST["sicaklik"];
$deger2 = $_POST["sicaklik2"];
echo "Sabah sicaklik " . $deger . " C derece";
echo "Aksam sicaklik " . $deger2 . " C derece";
if ($deger <=  -50 )
{
echo "Sabah hava sicakligi Sibirya soğuğu gibi";
}
else if ($deger > -50 and $deger <= 0)
{
echo "Sabah hava sıcaklığı çok düşük";
}
else if ($deger > 0 and $deger <= 20)
{
echo "Sabah hava serin";
}
else if ($deger > 20 and $deger <= 40)
{
echo "Sabah hava sicak";
}
else
{
echo "sabah hava asırı sıcak";
}
if ($deger2 <= -50)
{
echo "Aksam hava sıcaklıgı Sibirya sogugu gibi";
}
else if ($deger2 > -50 and $deger <= 0)
{
echo "Aksam hava sıcaklığı çok düşük";
}
else if ($deger2 > 0 and $deger <= 20)
{
echo "Aksam hava serin";
}
else if ($deger2 > 20 and $deger <= 40)
{
echo "Aksam hava sicak";
}
else
{
echo "Hava gece asırı sıcak";
}
?>

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 >

D
4 yıl
Yarbay

$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?


Bu mesaja 1 cevap geldi.
K
4 yıl
Çavuş

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.


Bu mesaja 1 cevap geldi.
L
4 yıl
Onbaşı
Konu Sahibi

<html>
<body>
<form action="yeni_2.php" method="post">
<input type="text" id="sicaklik" value="Sabah hava sicakligini giriniz">

<input type="text" id="sicaklik2" value="Aksam hava sicakligini giriniz">

<input type="submit" value="Gonder">
<input type="reset" value="Temizle">
</form>
</body>
</html>
bu html dosyam.Sizce burda bi hata var mı?



L
4 yıl
Onbaşı
Konu Sahibi

Kusura bakmayın bulamadım.Tam olarak gösterebilirseniz.Öğrenciyim daha hata kodlarını anlayamıyorum.
değişkende bir problemmi var sizce


Bu mesaja 1 cevap geldi.

Bu mesajda bahsedilenler: @DoubleDragon
L
4 yıl
Onbaşı
Konu Sahibi

Ben id yazmıştım name yazıp deniyorum bekleyin...




Bu mesajda bahsedilenler: @kombimuhendisi
L
4 yıl
Onbaşı
Konu Sahibi

name yazınca düzeldi teşekkürler


Bu mesaja 1 cevap geldi.
L
4 yıl
Onbaşı
Konu Sahibi

K
4 yıl
Çavuş

rica ederim




Bu mesajda bahsedilenler: @lol_katarina
K
4 yıl
Çavuş

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 >


Bu mesajda bahsedilenler: @lol_katarina
D
4 yıl
Yarbay

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";
}

Bu şekilde çalıştırınca akşam sıcaklığı için 45 dereceye çok düşük demiyor




Bu mesajda bahsedilenler: @lol_katarina
L
4 yıl
Onbaşı
Konu Sahibi

Teşekkürler arkadaşlar:)



DH Mobil uygulaması ile devam edin. Mobil tarayıcınız ile mümkün olanların yanı sıra, birçok yeni ve faydalı özelliğe erişin. Gizle ve güncelleme çıkana kadar tekrar gösterme.