if / else ve print_r hakkında

3 Mesajlar 744 Okunma
smmexpress

idea 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)
Merhaba arkadaşlar,

print_r($checkoutForm->getPaymentStatus());

ifadesi ödemenin SUCCESS yada FAILURE olduğunu ekrana yazıyor. Çalışıyor. Sorun yok.

Yapmak istediğim ise IF ve ELSE ile ödemenin başarılı/başarısız durumuna göre ekrana yazı yazdırmak.

Yaptığım Denemeler:

Birinci yaptığım deneme: olduğu gibi if/else içine aldım. Olmadı.

if (print_r($checkoutForm->getPaymentStatus()); == "SUCCESS") {
echo "Ödemeniz Alınmıştır.";
} else (print_r($checkoutForm->getPaymentStatus()); == "FAILURE") {
echo "Ödemeniz Tahsil Edilemedi.";
}


İkinci yaptığım deneme: $checkoutForm->getPaymentStatus() ifadesini değişkene atayıp yapmak. Bu da olmadı.




$sonuc = $checkoutForm->getPaymentStatus();

if ($sonuc == "SUCCESS") {
echo "Ödemeniz Alınmıştır.";
} else ($sonuc == "FAILURE") {
echo "Ödemeniz Tahsil Edilemedi.";
}



Muhtemelen gözden kaçan bir hata var; ama ne? Saatlerce uğraştım. Muhtemelen print_r hatalı kullanıyor olabilirim. Bir türlü bulamadım. Vakit ayıran herkese teşekkürler.
 

 

wmaraci
reklam

idea 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)
Sorun çözüldü. elseif gibi kullanmamdan kaynaklı hata. Biraz ara verip yeniden kodlara bakınca çözüm oluyor. Tavsiye ederim. :) Başka birine çözüm olur diye paylaşıyorum.

$sonuc = $checkoutForm->getPaymentStatus();

if ($sonuc == "SUCCESS") {
echo "Ödemeniz Alınmıştır.";
} else {
echo "Ödemeniz Tahsil Edilemedi.";
}
 

 

VolkanYildiz VolkanYildiz www.volkanyıldız.net Kullanıcı
  • Üyelik 20.08.2015
  • Yaş/Cinsiyet 39 / E
  • Meslek Web Geliştirici
  • Konum İzmir
  • Ad Soyad V** Y**
  • Mesajlar 412
  • Beğeniler 723 / 141
  • Ticaret 30, (%100)
print_r(), diziyi stringe çevirmek için kullanılır. sorgularda (if, elseif, else) kulanamazsınız. Ayrıca bir yazım yanlışınız var sorgu içerisinde ";" kullanmışsınız.

Hatalı yerleri kırmızıyla işaretledim:

1)
if (print_r($checkoutForm->getPaymentStatus()); == "SUCCESS") {
echo "Ödemeniz Alınmıştır.";
} else (print_r($checkoutForm->getPaymentStatus()); == "FAILURE") {
echo "Ödemeniz Tahsil Edilemedi.";
}

Uyarı: "else" hiçbir koşul karşılanmadığında çalışır, içine ek bir sorgu yazılmaz.

2)

$sonuc = $checkoutForm->getPaymentStatus();

if ($sonuc == "SUCCESS") {
echo "Ödemeniz Alınmıştır.";
} else ($sonuc == "FAILURE") {
echo "Ödemeniz Tahsil Edilemedi.";
}

1. örnekte yazdığım hata yine burada var.

Çalışan kod:

if ($checkoutForm->getPaymentStatus() == "SUCCESS") {
echo "Ödemeniz Alınmıştır.";
} else {
echo "Ödemeniz Tahsil Edilemedi.";
}
idea

kişi bu mesajı beğendi.

wmaraci
Konuyu toplam 1 kişi okuyor. (0 kullanıcı ve 1 misafir)
Site Ayarları
  • Tema Seçeneği
  • Site Sesleri
  • Bildirimler
  • Özel Mesaj Al