Php.
Dediğin şekilde yaptım ve hata kalmadı. Ancak error_reporting(0); komutunu kullanmanın acaba sakıncası varmıdır? Bu kodların hata verdirmeden ve error_reporting(0); komutunu kullanmadan yapılabilmesi mümkünmüdür? mesela foreach komutuyla dizi değerlerini bir değişkene atasak olurmu?
Php
benim yazdıgım kod hatayi gizlemek icin degil error reporting kullanmasanda olur
radio butonu degeri bos oldugu icin bu hatayı veriyor sebebi bu isset fonksiyonu ile duzeltebilirsin
if(isset($_POST['question1'])||isset($_POST['question2'])||isset($_POST['question3'])){ $cevap1=$_POST['question1'];$cevap2=$_POST['question2'];$cevap3=$_POST['question3'];
} post verilerinden hemen sonra bu kodu ekle bir daha o hatayı almazsın
Bunu denedim ama olmadı. Aynı hatayı vermeye devam ediyor
Php
eger hata veriyorsa isset icin kullandıgın if dongusunun parantezinin butun kodları icerisine alacak sekilde kapatırsan cozulur hata vermesinin sebebi ise post verisini atadıgın veri bos geldigi zaman post verisini degiskene atadıgın icin degisken deger atanmamamıs olarak algılıyor php
Tüm kodların bitiminde kapattım if paranteziini bu seferde Sonuç DOĞRU, YANLIŞ yazıları gitti. boş bıraktığım cevaplar için ise hata mesajı aynen devam ediyor. Acaba başka bir yerdemi kapatmalı o parantezi?
Kodların son halini yazayım kafayı yicem
$anahtar1 = "a";
$anahtar2 = "b";
$anahtar3 = "c";
$cevap1 = $_POST['question1'];
$cevap2 = $_POST['question2'];
$cevap3 = $_POST['question3'];
if( isset($_POST['question1'])||isset($_POST['question2'])||isset($_POST['question3']) )
{ $cevap1=$_POST['question1'];$cevap2=$_POST['question2'];$cevap3=$_POST['question3'];
$cevaplar = array ($anahtar1, $anahtar2, $anahtar3);
$sorular = array ($cevap1, $cevap2, $cevap3);
$sorutoplam = count($sorular);
for($i=0 ; $i<$sorutoplam ; $i++)
{
if($sorular[$i] == $cevaplar[$i])
{
echo "Sonuç DOĞRU <br/>";
}
else if ( empty ($sorular[$i]) )
{
echo "Sonuç BOŞ<br/>";
}
else
{
echo "Sonuç YANLIŞ<br/>";
}
}
}
$anahtar1 = "a";
$anahtar2 = "b";
$anahtar3 = "c";
$cevap1 = $_POST['question1'];
$cevap2 = $_POST['question2'];
$cevap3 = $_POST['question3'];
if( isset($_POST['question1'])||isset($_POST['question2'])||isset($_POST['question3']) )
{ $cevap1=$_POST['question1'];$cevap2=$_POST['question2'];$cevap3=$_POST['question3'];}
$cevaplar = array ($anahtar1, $anahtar2, $anahtar3);
$sorular = array ($cevap1,$cevap2,$cevap3);
$sorutoplam = count($cevaplar);
for($i=0 ; $i<$sorutoplam ; $i++) {
if($sorular[$i] == $cevaplar[$i])
{
echo "Sonuç Doğru<br/>";
}
else if ( empty ($sorular[$i]) )
{
echo "Sonuç Boş Bırakılmış <br />";
}
else
{
echo "Sonuç Yanlıştır <br/>";
}
}
test ettim calısıyor eksik yerleri duzelttim simdi dene
Php
bozkurtmanas ve TeaMTurkeR yardımlarını için teşekkür ederim. Sizleride uğraştırdım. Ancak bende şu anda farkettim. Ben buna benzer bir kod yazmıştım ve o çalışıyordu. Ama her değer için tek tek yazmıştım. Bunuda hem php de kendimi geliştirmek hemde okadar uzun kodu bir döngüyle kısaltmaktı amacım.
Localde xampp kullanıyorum. Localde oluyor sorun. Siteye atınca hata vermedi. Sorun xampp ten kaynaklanıyormuş. Hiç beklenmedik bir yerde yani. Tekrar teşekkürler.
Php
bozkurtmanas ve TeaMTurkeR yardımlarını için teşekkür ederim. Sizleride uğraştırdım. Ancak bende şu anda farkettim. Ben buna benzer bir kod yazmıştım ve o çalışıyordu. Ama her değer için tek tek yazmıştım. Bunuda hem php de kendimi geliştirmek hemde okadar uzun kodu bir döngüyle kısaltmaktı amacım.
Localde xampp kullanıyorum. Localde oluyor sorun. Siteye atınca hata vermedi. Sorun xampp ten kaynaklanıyormuş. Hiç beklenmedik bir yerde yani. Tekrar teşekkürler.