idea
WM Aracı
Kullanıcı
-
Üyelik
27.04.2011
-
Yaş/Cinsiyet
37 / E
-
Meslek
Yazılım
-
Konum
İstanbul Avrupa
-
Ad Soyad
M** S**
-
Mesajlar
448
-
Beğeniler
165 / 44
-
Ticaret
4, (%75)
if ($verilen_yanit == $dogru_cevap) {
echo "D";
} else {
echo "Y";
}
yuarıdaki kod çalışıyor arkadaşlar. ama bu if else yapısını bir fonksiyon şu şekilde eklediğimde ise çalışmıyor:
function cevapladi() {
if ($verilen_yanit == $dogru_cevap) {
echo "D";
} else {
echo "Y";
}
}
$cevap = cevapladi();
//BURADAKİ CEVABI (D veya Y) VERİTABANINA YAZIRMAK İÇİN DEĞİŞKENE ATADIM.
ve şu şekilde hata veriyor:
Notice: Undefined variable: dogru_cevap in C:\Program Files\EasyPHP-12.1\www\asd.php on line 105
Notice: Undefined variable: verilen_yanit in C:\Program Files\EasyPHP-12.1\www\asd.php on line 105
D
105.satır. fonksiyonun içindeki if ($verilen_y... başlayan satırı.
bu sorunu nasıl çözebiliriz? teşekkürler.
mizraklar
Üyeliği Durdurulmuş
Banlı Kullanıcı
-
Üyelik
30.09.2013
-
Yaş/Cinsiyet
48 / E
-
Meslek
Elektronik Müh.
-
Konum
Kocaeli
-
Ad Soyad
H** M**
-
Mesajlar
290
-
Beğeniler
34 / 35
-
Ticaret
0, (%0)
Merhaba arkadaşlar
değişkenlerin function içinde çalışabilmesi için
global olarak tanımlamanız lazım
örnek
function cevapladi() {
global $verilen_yanit, $dogru_cevap;
if ($verilen_yanit == $dogru_cevap) {
echo "D";
} else {
echo "Y";
}
}
aksi durumda değişken değerleri boş göründüğü için işlem yapmaz hata alırsın
1 kişi bu mesajı beğendi.
-
Üyelik
31.05.2013
-
Yaş/Cinsiyet
40 / E
-
Meslek
Biyolog
-
Konum
Ankara
-
Ad Soyad
İ** S**
-
Mesajlar
314
-
Beğeniler
77 / 44
-
Ticaret
10, (%100)
verilen_yanit veya dogru yani diye atadığın değişkenler için herhangi bir veri yok sanırım. kodlarınüst kısmında yanıtlar için bir veri oluştur örneğin;
$verilen_yanit=a;
$dogru_cevap=a;
gibi olabilir.
idea
WM Aracı
Kullanıcı
-
Üyelik
27.04.2011
-
Yaş/Cinsiyet
37 / E
-
Meslek
Yazılım
-
Konum
İstanbul Avrupa
-
Ad Soyad
M** S**
-
Mesajlar
448
-
Beğeniler
165 / 44
-
Ticaret
4, (%75)
@mizraklar
dediğiniz gibi yaptım. hata ekranı giderildi. ancak bu sefer de veritabanına D veya Y şeklinde yazmadı. (Diğer tüm değişkenler ise veritabanına yazıyor. Sadece bunda sorun oldu bu sefer de)
@ismailke
değişkenlerde veri yüklü hocam. o konuda sıkıntı yok.
idea
WM Aracı
Kullanıcı
-
Üyelik
27.04.2011
-
Yaş/Cinsiyet
37 / E
-
Meslek
Yazılım
-
Konum
İstanbul Avrupa
-
Ad Soyad
M** S**
-
Mesajlar
448
-
Beğeniler
165 / 44
-
Ticaret
4, (%75)
@0Derece return olarak değiştirince her şey sorunsuz çalıştı.
teşekkürler arkadaşlar.
-
Üyelik
25.06.2012
-
Yaş/Cinsiyet
38 / E
-
Meslek
Engineering Director
-
Konum
İstanbul Avrupa
-
Ad Soyad
T** C**
-
Mesajlar
771
-
Beğeniler
2 / 260
-
Ticaret
0, (%0)
Global değişkenler dışarıdan çağıracaksanız mantıklıdır da, buradaki durumda, kontrol edeceğiniz değerleri fonksiyona parametre olarak geçmek daha mantıklı yada bu iş için fonksiyon yazmak yerine tek satırdada bitirebilirsin.
fonksiyon için;
function validateValue($actualVar, $expectedVar){
return $actualVar == $expectedVar ? 'D' : 'Y';
}
Fonksiyonu çağırdığınız noktada ;
$result = ($actualVar == $expectedVar) ? 'D' : 'Y';
echo($result);
..
2 kişi bu mesajı beğendi.
https://www.linkedin.com/in/turgaycan/
Kaliteli kod yazılır.. (Günlük/Saatlik ücreti ile)
Flawless
Üyeliği Durdurulmuş
Banlı Kullanıcı
-
Üyelik
25.10.2013
-
Yaş/Cinsiyet
41 / E
-
Meslek
Php Coder
-
Konum
Antalya
-
Ad Soyad
K** I**
-
Mesajlar
476
-
Beğeniler
22 / 87
-
Ticaret
7, (%100)
fonksiyona parametre ekleyin ve değeri return ile döndürün