PHP Foreach Sorunu

Bu konuyu okuyanlar

TurkGamer34

Öğrenci
Katılım
5 Ağustos 2018
Mesajlar
28
Reaksiyon puanı
2
Puanları
3
Yaş
22
Sıkıntı şu birden fazla checkbox seçince acayip bir sonuç ortaya çıkıyor yardımcı olabilir misiniz?Bugün Sınavım var.
Html Kısmı:
69317

Php Kısmı:
69318
 

TurkGamer34

Öğrenci
Katılım
5 Ağustos 2018
Mesajlar
28
Reaksiyon puanı
2
Puanları
3
Yaş
22
<html>
<head>
<meta charset="utf-8">
<title>Pizza Siparişi</title>
</head>

<body>

<form name="pizza" method="post" action="">
İsim <input type="text" name="isim"><br>
Soyisim <input type="text" name="sisim"><br>
Kenar Seçiniz <select name="kenar">
<option value="3">Peynir K. (+3)</option>
<option value="4">Sarımsak K.(+4)</option>
<option value="1">Susam(+1)</option>
</select><br>
Malzemeler<br>
<input type="radio" name="mal" value="1">Biber(+1)
<input type="radio" name="mal" value="2">Paprica(+2)
<input type="radio" name="mal" value="1">Jelapane(+1)<br>
<input type="checkbox" name="ekxt[]" value="5">Sucuk(+5)
<input type="checkbox" name="ekxt[]" value="4">Salam(+4)
<input type="checkbox" name="ekxt[]" value="3.5">Sosis(+3,5)
<input type="checkbox" name="ekxt[]" value="2.5">Mantar(+2,5)
<input type="checkbox" name="ekxt[]" value="2">Jambon(+2)
<input type="checkbox" name="ekxt[]" value="1">Siyah Zeytin(+1)
<input type="checkbox" name="ekxt[]" value="1">Yeşil Zeytin(+1)
<input type="checkbox" name="ekxt[]" value="2">Mısır(+2)<br>
İçecek Seçiniz <select name="icecek">
<option value="4">Kola(+4)</option>
<option value="3">Kola 330ml(+3)</option>
<option value="0">Su</option>
<option value="5">Sprite 2,5ml(+5)</option>
</select><br>
<textarea name="adres" cols="50" rows="5">
</textarea><input type="submit" value="GÖNDER" name="gonder">

</form>
<?php
if (isset($_POST['gonder']))
{
if (empty($_POST['isim']) && empty($_POST['sisim'])&&empty($_POST['kenar']) && empty($_POST['icecek'])&&empty($_POST['adres']) )
{echo "Lütfen Zorunlu Olanları Tamamlayınız";}

else {
$isim=$_POST['isim'];
$sisim=$_POST['sisim'];
$kenar=$_POST['kenar'];

$icecek=$_POST['icecek'];
$adres=$_POST['adres'];
$mal=$_POST['mal'];

$toplam=0;
$pizza=15;
$adres=$_POST['adres'];
if (isset($_POST['ekxt']))
{
$ekxt=$_POST['ekxt'];

foreach($ekxt as $ekstra)
$toplam=$toplam+$icecek+$mal+$kenar+$ekstra;
echo "$toplam <br> $adres";
}
else
{

$toplam=$toplam+$icecek+$mal+$kenar;



echo "$toplam <br> $adres";
}

}
}


?>
</body>
</html>
$pizzayı dahil etmediğim halde değişik bir sonuç ortaya çıkıyor
 

Web Kartalı

Asistan
Katılım
3 Ağustos 2017
Mesajlar
177
Reaksiyon puanı
115
Puanları
43
69319


69320



yukarıdaki seçmiş olduğum değerler sonucunda toplam 31 tl çıkıyor. tekrar tekrar hesapladım, bir sorun görmedim.

foreach kullanmanı gerektirecek bir durum yok, sadece dizi içindeki değerleri toplamak istemiştin bende array_sum ile dizi içindeki değerleri topladım.


Yeni PHP Kodu Bu şekilde olacak. Birde kod yazarken düzene dikkat etmek gerekir. girintiler çıkıntılar önemli, aradığın kodu rahat bulmana yardımcı olur.


<?php
if (isset($_POST['gonder'])){

if (empty($_POST['isim']) && empty($_POST['sisim']) && empty($_POST['kenar']) && empty($_POST['icecek']) && empty($_POST['adres']) ){
echo "Lütfen Zorunlu Olanları Tamamlayınız";

} else {

$isim = $_POST['isim'];
$sisim = $_POST['sisim'];
$kenar = $_POST['kenar'];

$icecek = $_POST['icecek'];
$adres = $_POST['adres'];
$mal = $_POST['mal'];

$adres = $_POST['adres'];

$toplam = 0;
$pizza = 15;


if (isset($_POST['ekxt'])){
$ekxt = $_POST['ekxt'];

$al_tumunu = array_sum($ekxt);
//echo $al_tumunu;

$toplam=$toplam+$icecek+$mal+$kenar+$al_tumunu;
echo "$toplam <br> $adres";

} else {
$toplam=$toplam+$icecek+$mal+$kenar;
echo "$toplam <br> $adres";
}

}

}
?>
 
Üst