Bu php cahiline bi yardım lütfen

Kodla Büyü

berker2004

Aktif Üye
Mesajlar
123
Bi ASP.net çi olarak PHP ye yeni başladım.
Çok basit ama olmuyo :x

İLERİ butonuna basınca say değişkeni her basışta 1 artacak geride de 1 azalacak.
Yani normalde gloabal bi değer olmalı ve sayfa her post olduğunda aynı değere dönmemeli.Benimli bir arttırıo fakat post oluo yine değer baştan başlıo :oops:
<?php
$kisi=array('Berker','Berk','Selo','Melo');
$say =0;
if($_POST)
{
if($_POST["ileri"])
{
$say++;
echo $say." " .$kisi[$say];
}
}

?>

<form method="POST" >
<input type="submit" name="ileri" value="İLERİ"/>
<input type="submit" name="geri" value="GERİ" />
</form>
 
Her post işleminde form yeniden gönderilip, sayfa yenilendiği için bahsettiğiniz gibi her zaman sıfırdan başlayacaktır.
Çözüm, forma gizli bir alan ekleyip, $say değişkeninin değerini ona value olarak vermekten geçiyor. Form POST edildiğinde bu değer de gönderilecek, böylece say değişkeninin son değerini elde etmiş olacaksınız. Şöyle bir kod işinize yarayacaktır diye düşünüyorum.
Kod:
<?php
$kisi=array('Berker','Berk','Selo','Melo');
$say =0;
if($_POST)
{
if($_POST["ileri"])
{
$say=$_POST["gizlisayi"];
$say++;
echo $say." " .$kisi[$say];
}
}

?>

<form method="POST" >
<input type="hidden" name="gizlisayi" value="<?php echo $say;?>" />
<input type="submit" name="ileri" value="İLERİ"/>
<input type="submit" name="geri" value="GERİ" />
</form>
Yazım yanlışları olabilir, mantığı anlarsanız sıkıntı yok.
 
himm tmm hocam teşekkürler.Yani öyle değerini arttırıp azaltabilecieğim farklı buton ve olaylardan erişebileceğim bir global değişken olayı yok diyorsunuz anca bir kontrolde tutcam değeri. fakat şimdi durum şu ilk yüklenmede gizli alanın value su sanırım bir şey bekliyor hata var diyor ileri butonuna tıklanınca düzeliyor post işlemini else sinde mi tanımlayacağım yoksa formu onda da bir posttan sonra form gidiyor:) napicez nasıl adapte olcam bu işe ben :scared: :verymad: :cry:
 
berker2004' Alıntı:
himm tmm hocam teşekkürler.Yani öyle değerini arttırıp azaltabilecieğim farklı buton ve olaylardan erişebileceğim bir global değişken olayı yok diyorsunuz anca bir kontrolde tutcam değeri. fakat şimdi durum şu ilk yüklenmede gizli alanın value su sanırım bir şey bekliyor hata var diyor ileri butonuna tıklanınca düzeliyor post işlemini else sinde mi tanımlayacağım yoksa formu onda da bir posttan sonra form gidiyor:) napicez nasıl adapte olcam bu işe ben :scared: :verymad: :cry:


Sayın hocam, form kullanmadan da yapabilirsiniz, zaten olayı çözmüşsünüz. iki buton koyun örneğin <a href="kisi.php?id=.$kisi[$say]"> şeklinde get ile de id yi çekinsonra if döngüsü ile eşleştirip +1 ekleyin yada -1 ekleyin bu kadar.
 
session kullanabilirsiniz. daha sade ve rahat calisirsiniz.

index.php
Kod:
<?php
session_start();

if($_POST["ileri"]) {
    $_SESSION["sayi"]++;
}
else {
    $_SESSION["sayi"]=0;
}

echo $_SESSION["sayi"];
?>

kodu test etmedim
 
Geri
Üst