PHP Foreach Sorunu

Şu anda konuyu okuyanlar (Üyeler: 1, Ziyaretçi & Botlar: 0)


TurkGamer34

Üyecik
Katılım
5 Ağu 2018
Mesajlar
22
Puanları
3
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

Üyecik
Katılım
5 Ağu 2018
Mesajlar
22
Puanları
3
<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ğu 2017
Mesajlar
103
Puanları
28
Konum
Ankara
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
stat counter