İçeriğe geç
ShiftDelete.Net
Haber ara/ SDN'ye SorGiriş
Haber Akışı SDNTV İnceleme Forum Yapay Zeka Akıllı Telefon Elektrikli Otomobil Oyun ShiftDelete.Net Global Teknoloji Haberleri Mobil Otomobil Donanım Savunma Bilim Sosyal Medya İnternet Giyilebilir Teknoloji Rehber Ürünler Son dakika Yazarlar
  1. Ana sayfa
  2. Topluluk
  3. Programlama
  4. Web Programlama (PHP, ASP, HTML, CSS, JavaScript)
Web Programlama (PHP, ASP, HTML, CSS, JavaScript)

PHP Foreach Sorunu

TurkGamer3427.03.20197 cevap2.074 görüntüleme
2018'den beri28 mesaj
#1
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ı:
Screenshot_1.png
Php Kısmı:
Screenshot_3.png
Cevaplar
2017'den beri177 mesaj
#2
html ve php kodlarını paylaşırmısın bi kontrol edim.
👍 1
TurkGamer34 Konuyu açan
2018'den beri28 mesaj
#3
html ve php kodlarını paylaşırmısın bi kontrol edim.
Resimleri attım
TurkGamer34 Konuyu açan
2018'den beri28 mesaj
#4
<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
2017'den beri177 mesaj
#5
aldım kontrol ediyorum.
👍 1
2017'den beri177 mesaj
#6
fot1.PNG

fot2.PNG

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";
}

}

}
?>
👍 1
TurkGamer34 Konuyu açan
2018'den beri28 mesaj
#7
Sağ Ol. :):)
2017'den beri177 mesaj
#8
rica ederim, kolay gelsin
👍 1

Cevabını yaz

Cevap yazmak için giriş yap ya da üye ol. Eski forum kullanıcı adın ve parolanla girebilirsin.