• 31-07-2016, 10:07:53
    #1
    merhaba php ile veri tabanına kayıt yaptırıyorum.
    Kayıt sonrası html yönlendime ile başka sayfaya yönlendirme yaptırıyorum.
    Fakat geri sekmesine tıklayıp önceki sayfaya gidilince tekrar aynı verileri kaydediyor.

    Bu nasıl engellenebilir.
  • 31-07-2016, 12:00:43
    #2
    mustafaaydin adlı üyeden alıntı: mesajı görüntüle
    merhaba php ile veri tabanına kayıt yaptırıyorum.
    Kayıt sonrası html yönlendime ile başka sayfaya yönlendirme yaptırıyorum.
    Fakat geri sekmesine tıklayıp önceki sayfaya gidilince tekrar aynı verileri kaydediyor.

    Bu nasıl engellenebilir.
    bir kaç yöntemi var; ancak en basit ve kolayı güvenlik kodu koymaktır google recaptcha işinizi görebilir

    https://www.google.com/recaptcha/intro/index.html
  • 31-07-2016, 13:52:26
    #3
    Kayıt yaptırdığın kodların başına if bloğu ekleyerek sorunu çözebilirsin.
    Yani şu şekilde :

    if($_POST){
    // Database veri kayıt işlemlerinin olacağı kısım
    }else{
    //Post olmadan sayfaya gelirse bu alanı görür.
    }
  • 31-07-2016, 13:56:15
    #4
    ByScarecrow adlı üyeden alıntı: mesajı görüntüle
    Kayıt yaptırdığın kodların başına if bloğu ekleyerek sorunu çözebilirsin.
    Yani şu şekilde :

    if($_POST){
    // Database veri kayıt işlemlerinin olacağı kısım
    }else{
    //Post olmadan sayfaya gelirse bu alanı görür.
    }
    Post edilen sayfada yenileme yaparsa bir önceki post verilerini tekrar kaydeder.
  • 31-07-2016, 14:38:37
    #5
    Mert50356 adlı üyeden alıntı: mesajı görüntüle
    Post edilen sayfada yenileme yaparsa bir önceki post verilerini tekrar kaydeder.
    Sanki öyle olmaz gibi ama öyle diyorsan onun içinde bir çözümüm var.

    Mesela şöyle bir form buttonumuz olsun

    <input type="submit" name="kayit" value="Kayıt Ol">

    Gelen post değerlerini sadece kayıt ol butonuna bastığımızda işlemesi için şöyle bir if bloğu oluşturalım
    <?php 
    $kayit = $_POST['kayit'];
    
    if(isset($kayit)){
    // Bu kısımda kayıt işlemleri yapılır
    }else{
    //Butona basmadan bu sayfaya geldiğinde yapılacak işlemler Hata mesajı vs.
    }
    
    ?>
    Sanırım bu sorunun çözümü için yeterlidir.
  • 31-07-2016, 14:48:51
    #6
    ByScarecrow adlı üyeden alıntı: mesajı görüntüle
    Sanki öyle olmaz gibi ama öyle diyorsan onun içinde bir çözümüm var.

    Mesela şöyle bir form buttonumuz olsun

    <input type="submit" name="kayit" value="Kayıt Ol">

    Gelen post değerlerini sadece kayıt ol butonuna bastığımızda işlemesi için şöyle bir if bloğu oluşturalım
    <?php 
    $kayit = $_POST['kayit'];
    
    if(isset($kayit)){
    // Bu kısımda kayıt işlemleri yapılır
    }else{
    //Butona basmadan bu sayfaya geldiğinde yapılacak işlemler Hata mesajı vs.
    }
    
    ?>
    Sanırım bu sorunun çözümü için yeterlidir.
    Bu şekildede tekrar kaydeder sonuçta sen post işleminde butona bastığında onuda submit ediyorsun.
  • 31-07-2016, 14:50:26
    #7
    Mert50356 adlı üyeden alıntı: mesajı görüntüle
    Bu şekildede tekrar kaydeder sonuçta sen post işleminde butona bastığında onuda submit ediyorsun.
    Hocam yanlışın var o if bloğuna sadece name 'si kayit olan butona basıldığında girer. sayfa yenilendiğinde ya da geri gelindiğinde kesinlikle o if bloğunun içine girmez. Zaten bir çok form aynı mantıkla yapılıyor.
    Deneyebilirsiniz...
  • 31-07-2016, 14:53:30
    #8
    ByScarecrow adlı üyeden alıntı: mesajı görüntüle
    Hocam yanlışın var o if bloğuna sadece name 'si kayit olan butona basıldığında girer. sayfa yenilendiğinde ya da geri gelindiğinde kesinlikle o if bloğunun içine girmez. Zaten bir çok form aynı mantıkla yapılıyor.
    Denedin mi yazdığın kodu?
  • 31-07-2016, 14:55:00
    #9
    Mert50356 adlı üyeden alıntı: mesajı görüntüle
    Denedin mi yazdığın kodu?
    Ben formlarım da sürekli bu yönetimi kullanırım. Şuana kadar o şekilde bir sıkıntı görmedim! Peki siz denediniz mi ?