PHP if sorgusunda hata

Anunswin

Hectopat
Katılım
20 Ekim 2020
Mesajlar
2.117
Çözümler
5
Arkadaşlar, PHP'den sınav olacağız.
Değerlendirme kriterleri.
1. hatasız ve doğru dizi oluşturma.
2. hatasız ve doğru değişken tanımlama.
3. doğru ve güncel yaş hesaplama.
4. verilen kritere göre not hesaplama (ort)
5. ekrana örnekteki gibi görüntüleme görüntüleme.
6. açıklamada belirtilen dizini oluşturma dizin oluşturma.
7. açıklamada belirtilen dizin içerisine istenilen TXT dosya oluşturma ve içerisine ekranda gösterilen değerleri yazma.
8. PHP programın çalışması.
Adı soyadı değişken tanımlanacak.
D. Tarihi- değişken tanımlanacak.
Yaşı - hesaplanacak.
Derler (dizi değişkeni tanımlanacak)
Notlar dersler dizisi ile çok boyutlu değişkeni olarak tanımlanacak.
Şartlar bunlar böyle görünmesi lazım.
Ders 1 ders 2 ders 3.
S1 %40 Y2 %60 ort hesaplanacak S1 %40 + Y2 %60 ort hesaplanacak (s1 %40)+ (y1+y2)/2) %60 ort hesaplanacak.
Sıra nu. Adı soyadı doğ. Tar yaşı bilgileri ders 1 ders 2 ders 3.
1. ergül dengiz 05.03.1971 48 yıl 10 ay 5 gün kimya edebiyat felsefe.
70 80 76 100 0 40 0 100 60.
2. xxxxxx yyyyyy 00.00.0000 XX yıl XX ay XX gün Türkçe fen veteknoloji matematik.
XX XX XX XX XX XX XX XX XX.
Ancak if sorun çıkardı neden olmuş olabilir.

Teknopat Konu resmi.PNG
 
Yazımın tamamen yanlış. Süslü parantezler yanlış yerde. Kodu buraya yapıştır. Resim olarak atarsan yardımcı olamam.
 
İlk önce tam olarak kodları öğreneyim sonra düzenleyeceğim zaten if bu yüzden mi hata verdi sizce.
Başka neyden hata verecek? Yazım doğru olmazsa kod çalışmaz. Kodları öğrenmen için zaten doğru syntaxta yazman gerekiyor.
 
Tam olarak dizilim nasıl oluyor halen yapamadım.
Hiç bir programlama dilinde türkçe karakter kullanılamaz! verdiğin değişken adlarına bir bak lütfen? $Yazılı diye bir değişken oluşturamazsın. $Yazili olması gerekli.
Arkadaşlar, PHP'den sınav olacağız.
Değerlendirme kriterleri.
1. hatasız ve doğru dizi oluşturma.
2. hatasız ve doğru değişken tanımlama.
3. doğru ve güncel yaş hesaplama.
4. verilen kritere göre not hesaplama (ort)
5. ekrana örnekteki gibi görüntüleme görüntüleme.
6. açıklamada belirtilen dizini oluşturma dizin oluşturma.
7. açıklamada belirtilen dizin içerisine istenilen TXT dosya oluşturma ve içerisine ekranda gösterilen değerleri yazma.
8. PHP programın çalışması.
Adı soyadı değişken tanımlanacak.
D. Tarihi- değişken tanımlanacak.
Yaşı - hesaplanacak.
Derler (dizi değişkeni tanımlanacak)
Notlar dersler dizisi ile çok boyutlu değişkeni olarak tanımlanacak.
Şartlar bunlar böyle görünmesi lazım.
Ders 1 ders 2 ders 3.
S1 %40 Y2 %60 ort hesaplanacak S1 %40 + Y2 %60 ort hesaplanacak (s1 %40)+ (y1+y2)/2) %60 ort hesaplanacak.
Sıra nu. Adı soyadı doğ. Tar yaşı bilgileri ders 1 ders 2 ders 3.
1. ergül dengiz 05.03.1971 48 yıl 10 ay 5 gün kimya edebiyat felsefe.
70 80 76 100 0 40 0 100 60.
2. xxxxxx yyyyyy 00.00.0000 XX yıl XX ay XX gün Türkçe fen veteknoloji matematik.
XX XX XX XX XX XX XX XX XX.
Ancak if sorun çıkardı neden olmuş olabilir.

Eki Görüntüle 790967
Senin yazdığın yaş hesaplama methodu bazı php versiyonlarında çalışmamakta. Aşağıda yazdığım her sürümde ilerler. get methodu ile hangi veriyi nereden aldığını bilemediğim için if sorgusunda ki verileri kendi kafana göre değişmen gerek. örneğini gösterdim.
PHP:
<?php

// "\n" yeni satıra indirme komutudur.
$ad = "ahmet\n";

$soyad = "demir\n";
echo "adınız: ".$ad ."soyadınız: ".$soyad;


   $dogumTarihi = "24-04-2003";
  
  //gün ay yıl diye bölüyoruz.
  $dogumTarihi = explode("-", $dogumTarihi);
  //yaş verisini alma
  $yas = (date("md", date("U", mktime(0, 0, 0, $dogumTarihi[0], $dogumTarihi[1], $dogumTarihi[2]))) > date("md")
    ? ((date("Y") - $dogumTarihi[2]) - 1)
    : (date("Y") - $dogumTarihi[2]));
  echo "Yaşınız: " . $yas;
    

//bunu get ile değiştiriğinde silebilirsin
$x = true;

//buraları senin alacagın get verisi ile değiştir
if ($x == true) {
    //altta ki değişkenlere get'ten aldığın verileri koy.
    $yazili1 = 25;
    $yazili2 = 35;
    $yazili3 = 65;
    
    
    $ortalama= ($yazili1 + $yazili2 + $yazili3) / 3;

    //burada virgülden sonra 2 haneyi yakına yuvarlıyor.
    echo "\n\nSınav ortalama: ". round($ortalama,2);
}
 
        
?>
 
Son düzenleme:
Hiç bir programlama dilinde türkçe karakter kullanılamaz! verdiğin değişken adlarına bir bak lütfen? $Yazılı diye bir değişken oluşturamazsın. $Yazili olması gerekli.

Senin yazdığın yaş hesaplama methodu bazı php versiyonlarında çalışmamakta. Aşağıda yazdığım her sürümde ilerler. get methodu ile hangi veriyi nereden aldığını bilemediğim için if sorgusunda ki verileri kendi kafana göre değişmen gerek. örneğini gösterdim.
PHP:
<?php

// "\n" yeni satıra indirme komutudur.
$ad = "ahmet\n";

$soyad = "demir\n";
echo "adınız: ".$ad ."soyadınız: ".$soyad;


   $dogumTarihi = "24-04-2003";
 
  //gün ay yıl diye bölüyoruz.
  $dogumTarihi = explode("-", $dogumTarihi);
  //yaş verisini alma
  $yas = (date("md", date("U", mktime(0, 0, 0, $dogumTarihi[0], $dogumTarihi[1], $dogumTarihi[2]))) > date("md")
    ? ((date("Y") - $dogumTarihi[2]) - 1)
    : (date("Y") - $dogumTarihi[2]));
  echo "Yaşınız: " . $yas;
   

//bunu get ile değiştiriğinde silebilirsin
$x = true;

//buraları senin alacagın get verisi ile değiştir
if ($x == true) {
    //altta ki değişkenlere get'ten aldığın verileri koy.
    $yazili1 = 25;
    $yazili2 = 35;
    $yazili3 = 65;
   
   
    $ortalama= ($yazili1 + $yazili2 + $yazili3) / 3;

    //burada virgülden sonra 2 haneyi yakına yuvarlıyor.
    echo "\n\nSınav ortalama: ". round($ortalama,2);
}

       
?>
Teşekkür ederim bu örnek benim için iyi oldu.
 

Geri
Yukarı