10/10/2018, 09:28
Vấn đề này cần sự giúp đỡ của mọi người (PHP)
Chuyện là thế này
em tạo 1 trang để thêm tin tức news.php, submit thì đến news.php?add=1, và hiện chữ thành công
Nhưng khi e nhấn F5 hoặc Refesh thì 1 tin nữa sẽ được tiếp tục đưa lên CSDL
làm mấy lần là thêm mấy tin àd
có cách nào ngăn cản F5 hoặc refresh để ko cho 1 bảng dữ liệu mới thêm vào CSDL ko mấy bác
Em ko thích phải cập nhật rồi chuyển đến 1 page khác đăng lên tin thành công
Mấy pro giúp em cái dụ này với
em tạo 1 trang để thêm tin tức news.php, submit thì đến news.php?add=1, và hiện chữ thành công
Nhưng khi e nhấn F5 hoặc Refesh thì 1 tin nữa sẽ được tiếp tục đưa lên CSDL
làm mấy lần là thêm mấy tin àd
có cách nào ngăn cản F5 hoặc refresh để ko cho 1 bảng dữ liệu mới thêm vào CSDL ko mấy bác
Em ko thích phải cập nhật rồi chuyển đến 1 page khác đăng lên tin thành công
Mấy pro giúp em cái dụ này với
Bài liên quan
hoặc là check sự tồn tại trùng lặp là xong
còn check sự dùng lặp thì làm cho web chạy chậm mất
còn cách nào nữa ko mấy pron giúp mình đi
rùi trong chỗ sử lý submit kiểm tra cả điều kiện submit và $_GET['action'] nếu Ok thì thực hiện insert và khi xong phải redirect về trang tiếp tục nhập hay về trang view để loại bỏ sự kiện submit form. Nên khi bạn refesh không bị nữa.
nếu bạn không thích thêm &action=insert thì không sao miễn bạn redirect về trang nào đó sau khi sử lý xong submit là đuợc(thậm chí về chính trang đó no vấn đề)
have fun!
hay đơn thuần là nó tự chuyển trang Header("Location: $x"); => vậy à
Good luck!
ajax ai có nguồn mở cho mình với (code để về ngâm cứu)
<?php
Tạo ID cho phiên nhập liệu
$_SESION***91;'mywork'***93; = uniqid();
?>
<input type=hidden name=rand value="<?=$_SESION***91;'mywork''?>">
// Kiễm tra dữ liệu gởi tới có phải có đúng phiên làm việc trên không
if($_SESION***91;'mywork'***93; == $_POST***91;'rand'***93; && $_POST***91;'rand'***93; != "") {
... phần xữ lí insert
// Sau khi hoàn tất thì hủy phiên làm việc này, nếu nhấn f5 thì phiên làm việc ko trùng nhau nữa nên sẽ không đáp ứng yêu cầu
unset($_SESSION***91;'mywork'***93;);
}
Lưu ý: $_SESION thay bằng $_SESSION nhé (do ko quen dùng telex)