420 gün önce Sayfa içerisinde aynı anda düzenleme işlemi #Php#Js
sorusunu cevapladı.
<script>
window.addEventListener('beforeunload', function (event) {
var params = window.location.search;
var xhr = new XMLHttpRequest();
xhr.open('GET', 'kapat.php' + params, true);
xhr.send();
});
</script>
Bu kod ile çözdüm. Burada açtığım soru aklıma geldi hiç cevap gelmemiş eklemek istedim lazım olanlar alabilir.
444 gün önce Sayfa içerisinde aynı anda düzenleme işlemi #Php#Js
sorusunu cevapladı.
require_once('config.php');
$order_id = $_GET['order'];
$editing = $db->prepare("SELECT * FROM editing_status WHERE order_id = :order_id && status=1");
$editing->execute(array("order_id" => $order_id));
$editing_status = $editing->fetch(PDO::FETCH_ASSOC);
if ($editing_status){
echo "Bu sayfa şu anda başkası tarafından düzenleniyor. Lütfen daha sonra tekrar deneyin.";
}else{
$orderID = $db->prepare("SELECT * FROM editing_status WHERE order_id = :order_id");
$orderID->execute(array("order_id" => $order_id));
$haveOrderID = $orderID->fetch(PDO::FETCH_ASSOC);
if($haveOrderID){
$query = $db->prepare("UPDATE editing_status SET status = :status, username = :username WHERE order_id = :order_id");
$update = $query->execute(array(
"status" => 1,
"username" => $_SESSION['user'],
"order_id" => $order_id
));
echo "OrderID status 0 dan 1 olarak değiştirildi.";
}else{
$query = $db->prepare("INSERT INTO editing_status SET order_id = :order_id, username = :username, status = :status");
$add = $query->execute(array("order_id" => $order_id, "username" => $_SESSION['user'], "status" => 1));
echo "Sıfır veri vardı eklendi.";
}
}
Status ekleyip onun üzerinden gitmek daha iyi gibi geldi bu şekilde ayarladım bir kaç kontrol ile.
Anlamadığım kısım // "editing" durumunu kaldır için yaptığınız bölüm. Sayfayı görüntüleyen kişinin sayfayı kapattığını nasıl kontrol edebilirim ? Süre koymak çok mantıklı gelmedi belki 10 saniye belki 15 dakika açık tutabilir kişi bunu net olarak bilemem ya da süre sınırı koyup sayfadan atmak istemem özel bir durumu olabilir o işle ilgili o an.