nyildiz adlı üyeden alıntı:
mesajı görüntüle
Php yeni değer alma sorunu!
27
●2.047
- 27-10-2010, 23:18:27Efe4ka adlı üyeden alıntı: mesajı görüntüle
$boy = $boy/100; $bmi = round($kilo/($boy*$boy),1) ;
Çektiğim değerlerle ilk olarak bu işlemi yapmam gerek daha sonra
$imge = imagecreatefrompng('images/imge.png'); $resim = imagecreatefrompng('images/grk.png');Burada gördüğün değişkenlerin biri grafik diğeri işaretlemek için kullandığım resim gelen boy ve kiloya göre işareti üzerine gelmesi gereken pikseli hesaplıyıp iki resmi birleştirip basit bir grafik oluşturuyorum.
header('Content-type: image/png'); imagepng($resim); imagedestroy($resim);bu kod satırından sornada resim çıktısı oluşuyor html den <img src="grafik.php"> olarak çağırabiliyorum.Kodların işleyişi bu şekilide. - 28-10-2010, 13:38:29nyildiz adlı üyeden alıntı: mesajı görüntüle
buraya kadar herşey ok boy ve kiloya göre resim oluşturuyorsun. a peki sonra yani genel seneryonu anlatırsan ben şunu şunu yapmak istiyorum amacımda bu şeklinde. kodların anlaşıldı. şu şekilde anlatırsan daha iyi olur.
1. şunu şunu yapmak istiyorum.
2. kodlarım bu şekilde.
3. yapmak istediğim senaryoda bu şekilde hata alıyorum. - 28-10-2010, 13:51:41Efe4ka adlı üyeden alıntı: mesajı görüntüle
Peki tekrar açıklıyayım ben değerleri jquery ile post ediyorum sayfanın altına hem bmi değeri(yapılan işlem sonunu çıkan değer) hemde bu grafiği getirmek istiyorum.
bunun için:
$boy = $_POST["boy"]; $kilo = $_POST["kilo"]; $yas = $_POST["yas"]; if ( empty($boy) or empty($kilo) or empty($yas)){ echo '<div class="bmi">Lütfen istenilen tüm bilgileri girin.</div>'; } else{ setcookie("boy1", $boy, time()+1,"/"); setcookie("kilo1", $kilo, time()+1,"/"); $boy = $boy/100; $bmi = round($kilo/($boy*$boy),1) ; echo '<div class="bmi">BMI Değeri:'.' '.$bmi.'</div>'; bmiuyari($bmi,$yas); echo '<div class="grafik"> <img src="grafik.php"> </div> ';
burada gördüğün grafik.php grafik çizilen sayfa buraya cookie ile değerleri gönderdiğimde grafik sadece ilk gönderdiğim değerlerle çiziliyor.(sayfayı yenilemeden sayfa yeniledikten sonra tekrar çizilmesi nolmal zaten).Ben her değerde yeniden çizilsin isityorum.Son olarak daha iyi görebilmen bu linkden uygulamayı görebilirsin. - 28-10-2010, 14:03:08şimdi session ve cookieler kullanıcıların belli bir bilgilerini gerek client gerek server bazlı saklamak için kullanılır böyle bir sistemde cookie veya session kullanman yanlış. şu olabilir. hani kullanıcı sayfayı yenilerse. boş grafik gelir o zaman session açacaksın eğer boy kilo yaş postları aynı ise sessionu değiştirmeyeceksin fakat aynı değil se yeni session yaratacaksın ve yeni post yapılan değerleri gireceksin.nyildiz adlı üyeden alıntı: mesajı görüntüle
böylece post edilen değerler boş veya aynı ise aynı grafik gösterilecek değilse yeni değerler gösterilecek mantığı bu şekilde. umarım anlatabilmişimdir . bir dene bu yöntemi eğer olmaz ise sorunun çözümüne daha detaylı uğraşalım. - 28-10-2010, 14:10:12Grafik boş getir derken o kısmı tam anlayamadım.Şuan pek müsait değilim ama akşama doğru birde session deniyip konuyu tekrar güncellerim.linke tıkladıysan görmüşsündür.Ben sadece her değeri nasıl bmi.php post ediyorsan aynı değerleri grafik dosyasınada yollamam lazım bu iki dosya ayrı olmak zorunda grafik çizilmesi için.Efe4ka adlı üyeden alıntı: mesajı görüntüle
- 28-10-2010, 14:14:22şimdi yapman gereken şu 2 farklı dosyaya POST ediyorsun . fark etmez aynı dosyayada post et. kullanıcı f5 e bastığı zaman veya yenileye tıkladığı zaman ya aynı veriler post edilir yada boş veriler post edilir. aynı veriler post edilir ise....nyildiz adlı üyeden alıntı: mesajı görüntüle
aynı grafik çizilir ve gösterilir eğer veriler boş post edilir ise veri olmadığı için grafik çizilemez bmi gösterilemez. sonuçta kodlar verilere göre null null null olur ve bişi gösterilmez bu nedenle her bir grafik çiziminde session lar ile bir önceki bilgiyi tutman , eğer post edilen veriler boş ise sessionda tuttuğun veriler ile aynı grafiği ve bmi göstermen lazım. eğer kullanıcı aynı bilgileri post ederse boy kilo yaş birşey yapmana gerek yok veriler zaten aynı olduğu için aynı grafik çizilecektir.