if - elseif sorunu.
if ($durum1=="Acik"){
$durum1="<img src='Acik.png' title='HAVA AÇIK'>";
} else if ($durum1=="SaganakYagis"){
$durum12="<img src='Saganak.png' title='SAĞANAK YAĞIŞLI'>";
} else if ($durum1=="Yagmur"){
$durum1="<img src='hafifyagmurlu.png' title='YAĞMURLU'>";
} else if ($durum1=="CokBulutlu"){
$durum1="<img src='cokbulutlu.png' title='ÇOK BULUTLU'>";
} else if ($durum1=="ParcaliBulutlu"){
$durum1="<img src='parcalibulutlu.png' title='PARÇALI BULUTLU'>";
}
echo $durum1;
Çıktı -> Boş hiç bişi gelmiyor. Buda değişkenlere değer atanmıyor demektir. Lakin değişkeni direkt yazdığımda içinde değer var.
Php
Kodunda bir sorun yok sadece bir yerde durum1 yerine durum 12 yazmıssın (saganakyagıs) tek hata o aşağıdaki şekilde kullanıldığında sorun görünmüyor
$durum1 = "SaganakYagis";
if ($durum1=="Acik"){
$durum1="<img src='Acik.png' title='HAVA AÇIK'>";
} else if ($durum1=="SaganakYagis"){
$durum1="<img src='Saganak.png' title='SAĞANAK YAĞIŞLI'>";
} else if ($durum1=="Yagmur"){
$durum1="<img src='hafifyagmurlu.png' title='YAĞMURLU'>";
} else if ($durum1=="CokBulutlu"){
$durum1="<img src='cokbulutlu.png' title='ÇOK BULUTLU'>";
} else if ($durum1=="ParcaliBulutlu"){
$durum1="<img src='parcalibulutlu.png' title='PARÇALI BULUTLU'>";
}
echo $durum1;
php
// MGM Verilerini okuyoruz, baglanamazsak hata verdirtiyoruz.
$gelen_sayfa = file_get_contents("http://www.mgm.gov.tr/FTPDATA/wap/".$sehir_ufak.".wml") or die ('<b>HATA!</b><br> Hava Tahmin verilerine ulasilamadi!');
$icerik = stristr($gelen_sayfa,"Tarih");
$cikti=explode("Tarih:",$icerik);
// BUGÜNKÜ TAHMINI ALIYORUZ
//echo $cikti[1];
$tarih1=explode(" ",$cikti[1]);
//SAAT BILGISINDEN DERECEYI AYIRALIM
$sicaklik1= explode("\n",$tarih1[1]);
// $tarih1[3] dizesinde santigrad kaldi cikaralim....
$derece1=explode("\n",$tarih1[2]);
// $derece1[1] dizesinde Durumbilgisi Kaldi
// $derece1[2] içerisinde Nem Bilgisi var ama parçalamamiz gerekiyor.
$nem1=explode(":",$derece1[2]);
//Rüzgar bilgisini yaziyoruz
$ruzgar1= $derece1[3]." - ".$tarih1[3]." ";
//$tarih1[4] içerisinde rüzhar hiz birimi ve basin var ayiralim
$basinc1=explode("\n", $tarih1[4]);
//Basinç bilgisini bölelim
$basinc11=explode(":",$basinc1[1]);
// $tarih1[5] içerisinde basinç birimini ayiralim
$basbirim=explode("\n",$tarih1[5]);
$tarih1=$tarih1[0]."/".date('Y');
$tarih1=eregi_replace("/",".",$tarih1);
$saat1=$sicaklik1[0];
$sicaklik1=$sicaklik1[1]." ".$derece1[0];
$sondurum1=$derece1[1];
$nem1=$nem1[1];
$ruzgar1=$ruzgar1.$basinc1[0];
$basinc1=$basinc11[1]." ".$basbirim[0];
$durum1=strip_tags($sondurum1); // Değişkendeki html karakterlerinden kurtuluyoruz
if ($durum1=="Acik"){
$durum1="<img src='Acik.png' title='HAVA AÇIK'>";
} else if ($durum1=="SaganakYagis"){
$durum1="<img src='Saganak.png' title='SAĞANAK YAĞIŞLI'>";
} else if ($durum1=="Yagmur"){
$durum1="<img src='hafifyagmurlu.png' title='YAĞMURLU'>";
} else if ($durum1=="CokBulutlu"){
$durum1="<img src='cokbulutlu.png' title='ÇOK BULUTLU'>";
} else if ($durum1=="ParcaliBulutlu"){
$durum1="<img src='parcalibulutlu.png' title='PARÇALI BULUTLU'>";
}
else {$durum1="Resim Hatası";}
echo $durum1
Php
trim komutu ile if'e girmeden önce temizlik yaparsan sorun kalmayacaktır
echo $durum1 = trim($durum1);
f ($durum1=="Acik"){
$durum1="<img src='Acik.png' title='HAVA AÇIK'>";
} else if ($durum1=="SaganakYagis"){
$durum1="<img src='Saganak.png' title='SAĞANAK YAĞIŞLI'>";
} else if ($durum1=="Yagmur"){
$durum1="<img src='hafifyagmurlu.png' title='YAĞMURLU'>";
} else if ($durum1=="CokBulutlu"){
$durum1="<img src='cokbulutlu.png' title='ÇOK BULUTLU'>";
} else if ($durum1=="ParcaliBulutlu"){
$durum1="<img src='parcalibulutlu.png' title='PARÇALI BULUTLU'>";
}
else {$durum1="Resim Hatası";}
echo $durum1
Php
$durum1=preg_match("/[^a-zA-Z0-9@#\[\].]/", $sondurum1);
if ($durum1=="Acik"){
$durum1="<img src='".INFUSIONS."hava_durumu_panel/kurtulus/acik.png' title='HAVA AÇIK'>";
} elseif ($durum1=="SaganakYagis"){
$durum1="<img src='".INFUSIONS."hava_durumu_panel/kurtulus/Saganak.png' title='SAĞANAK YAĞIŞLI'>";
} elseif ($durum1=="Yagmur"){
$durum1="<img src='".INFUSIONS."hava_durumu_panel/kurtulus/hafifyagmurlu.png' title='YAĞMURLU'>";
} elseif ($durum1=="CokBulutlu"){
$durum1="<img src='".INFUSIONS."hava_durumu_panel/kurtulus/cokbulutlu.png' title='ÇOK BULUTLU'>";
} elseif ($durum1=="ParcaliBulutlu"){
$durum1="<img src='".INFUSIONS."hava_durumu_panel/kurtulus/parcalibulutlu.png' title='PARÇALI BULUTLU'>";
}elseif ($durum1=="AzBulutlu"){
$durum1="<img src='".INFUSIONS."hava_durumu_panel/kurtulus/azbulutlu.png' title='AZ BULUTLU'>";
}else {$durum1="Resim Yüklenmedi!";}
Hayda Sadece else deki değer dönüyor... Örnek site sinopesnafrehberi.com
Php
preg_match kullanımından kaynaklı bir sorun
aşağıdaki kodu iflerin onduğu yere kullanabilirsin
switch ( trim($durum1))
{
case "Acik":
$durum1="<img src='".INFUSIONS."hava_durumu_panel/kurtulus/acik.png' title='HAVA AÇIK'>";
break;
case "SaganakYagis":
$durum1="<img src='".INFUSIONS."hava_durumu_panel/kurtulus/Saganak.png' title='SAĞANAK YAĞIŞLI'>";
break;
case "Yagmur":
$durum1="<img src='".INFUSIONS."hava_durumu_panel/kurtulus/hafifyagmurlu.png' title='YAĞMURLU'>";
break;
case "CokBulutlu":
$durum1="<img src='".INFUSIONS."hava_durumu_panel/kurtulus/cokbulutlu.png' title='ÇOK BULUTLU'>";
break;
case "ParcaliBulutlu":
$durum1="<img src='".INFUSIONS."hava_durumu_panel/kurtulus/parcalibulutlu.png' title='PARÇALI BULUTLU'>";
break;
case "AzBulutlu":
$durum1="<img src='".INFUSIONS."hava_durumu_panel/kurtulus/azbulutlu.png' title='AZ BULUTLU'>";
break;
default :
$durum1="Resim Yüklenmedi!";
break;
}echo $durum1;