lostyazilim
tr.link

PHP Yeniden Post Engelleme

12 Mesajlar 4.604 Okunma
lstbozum
tr.link

cilginbixici cilginbixici WM Aracı Telefon Onaysız
  • Üyelik 05.06.2017
  • Yaş/Cinsiyet 28 / E
  • Meslek Freelance
  • Konum Uşak
  • Ad Soyad S** T**
  • Mesajlar 68
  • Beğeniler 24 / 2
  • Ticaret 0, (%0)
php de f5 basdığımda veya sayfayı yenilemeye çalıştığımda yeniden post ediyor.Bunu nasıl engelleyebilirim.
 

 

wmaraci
reklam

mxaksoy mxaksoy Üyeliği Durdurulmuş Banlı Kullanıcı
  • Üyelik 23.03.2018
  • Yaş/Cinsiyet 29 / E
  • Meslek Webmaster
  • Konum İstanbul Avrupa
  • Ad Soyad M** A**
  • Mesajlar 1358
  • Beğeniler 482 / 344
  • Ticaret 3, (%100)
Gizli sekmeden çalışınız.
 

 

cilginbixici cilginbixici WM Aracı Telefon Onaysız
  • Üyelik 05.06.2017
  • Yaş/Cinsiyet 28 / E
  • Meslek Freelance
  • Konum Uşak
  • Ad Soyad S** T**
  • Mesajlar 68
  • Beğeniler 24 / 2
  • Ticaret 0, (%0)
ben değil.diğer kullanıcılarda dahil
 

 

mxaksoy mxaksoy Üyeliği Durdurulmuş Banlı Kullanıcı
  • Üyelik 23.03.2018
  • Yaş/Cinsiyet 29 / E
  • Meslek Webmaster
  • Konum İstanbul Avrupa
  • Ad Soyad M** A**
  • Mesajlar 1358
  • Beğeniler 482 / 344
  • Ticaret 3, (%100)
cilginbixici Ajax kullandınız mı?
 

 

wmaraci
wmaraci

cilginbixici cilginbixici WM Aracı Telefon Onaysız
  • Üyelik 05.06.2017
  • Yaş/Cinsiyet 28 / E
  • Meslek Freelance
  • Konum Uşak
  • Ad Soyad S** T**
  • Mesajlar 68
  • Beğeniler 24 / 2
  • Ticaret 0, (%0)
hayır
 

 

ontedi ontedi www.ontedi.com Kullanıcı
  • Üyelik 03.10.2013
  • Yaş/Cinsiyet 44 / E
  • Meslek Yazılım Uzmanı, Matematikçi
  • Konum Ankara
  • Ad Soyad S** T**
  • Mesajlar 1118
  • Beğeniler 325 / 324
  • Ticaret 2, (%100)
Post edilen değerleri cookie tarzı bir şey de tut, geleni cookie ile karşılaştır.
"Aynısı geldi kardeşim, lütfen şuraya git baştan doldur formu" dersin.
 

 

www.ontedi.com
www.cizgi.site

MrB MrB WM Aracı Kullanıcı
  • Üyelik 16.06.2014
  • Yaş/Cinsiyet 27 / E
  • Meslek öğrenci
  • Konum Kocaeli
  • Ad Soyad B** Ö**
  • Mesajlar 945
  • Beğeniler 87 / 262
  • Ticaret 1, (%100)
Merhaba, gönderdiğiniz veriler işlendikten sonra tekrar aynı sayfaya dönmek istiyorsanız aşağıda göstereceğim basit yöntemi deneyebilirsiniz.


if(isset($_POST)){
/**
Post işleminde yapılan işlemler.

**/
// İşlem bittikten sonra geldiği sayfaya yönlendirelim.
header('location:'.$_SERVER['HTTP_REFERER'].'?islem=basarili');
}
if(isset($_GET['islem'])=='basarili'){
echo 'Bu işlemi başarı ile gerçekleştirdin.';
}else if(isset($_GET['islem'])=='basarisiz'){
echo 'İşlem gerçekleşemedi.';
}



yukarıda eğer bir post işlemi tamamlanmışsa aynı sayfaya bir get parametresi ile geri döndük.
Sonrasında bu get parametresini kontrol ederek işlemin sonucunu ekrana yazdırdık. (direk buradan yazdığım için hata olabilir sen kendine göre düzenlersin)

Farklı yöntemler kullanılabilir ancak en low seviye hali bu.
fdemir7

kişi bu mesajı beğendi.

MuhammedArslan MuhammedArslan Msa Web Tasarım Kullanıcı
  • Üyelik 19.02.2017
  • Yaş/Cinsiyet 24 / E
  • Meslek Web Developer
  • Konum Bursa
  • Ad Soyad M** A**
  • Mesajlar 933
  • Beğeniler 136 / 276
  • Ticaret 11, (%100)
Sayfanin basinda token adinda random bir deger uret ve bunu session a kaydet. Daha sonra formda token adinda bir input olustur ve bunuda diger sayfaya post ettir.
Post ettirdigin sayfada session daki token ile formdan gelen tokeni karsilastir.
Son olarak sayfanin altinda olusturdugun tokeni sifirla ki sayfa yenilendiginde session daki token bosa dussun.
 

 

Decimas Decimas WM Aracı Kullanıcı
  • Üyelik 19.04.2015
  • Yaş/Cinsiyet 26 / E
  • Meslek Developer
  • Konum İstanbul Avrupa
  • Ad Soyad E** E**
  • Mesajlar 820
  • Beğeniler 1 / 302
  • Ticaret 1, (%100)
Bu kadar atraksiyona gerek yok, en basit yol Ajax + JSON ikilisi ile altından rahatlıkla kalkarsın.
 

 

no time for caution

demontara demontara Mobil Ziyaretçi Trafik Sistemi Kullanıcı
  • Üyelik 18.12.2015
  • Yaş/Cinsiyet 49 / E
  • Meslek Yazılım & Sistem Mühendisi
  • Konum İzmir
  • Ad Soyad B** D**
  • Mesajlar 259
  • Beğeniler 54 / 53
  • Ticaret 2, (%100)
Daha kolayı var :)

Örnek :
Ekranda bilgi giriş formunun olduğu sayfa : form.php
Bilgileri girsin kullanıcı submit ettiğinde islem.php'ye yolla orada database yada diğer ne işin varsa yap, işin bitince sonuc.php ye redirect yap ekrana mesajını yazdır bitti.
Adam istedigi kadar F5 basın hiçbir şey olmaz
HapyMan deryaerdil

kişi bu mesajı beğendi.

wmaraci
wmaraci
Konuyu toplam 1 kişi okuyor. (0 kullanıcı ve 1 misafir)
Site Ayarları
  • Tema Seçeneği
  • Site Sesleri
  • Bildirimler
  • Özel Mesaj Al