token atarken böyle yaparsan sorunun çözülür.
if(!isset($_POST['_token'])){
$_SESSION['_token'] = bin2hex(random_bytes(20));
}
$txt = "Hasan A\'Duran";
echo stripslashes($txt);
// Output: Hasan A'Duran
C# için https://github.com/cefsharp/CefSharp şöyle birşey var.
Ben olsam tabloyu şu şekilde yapardım.
friend_list
| owner_id | friend_id |
|---|---|
| 1 | 2 |
| 1 | 3 |
| 1 | 4 |
| 1 | 5 |
| 2 | 1 |
| 3 | 1 |
| 4 | 1 |
| 5 | 1 |
friend_request
| owner_id | friend_id | confirm |
|---|---|---|
| 1 | 2 | 1 |
| 4 | 1 | 1 |
| 2 | 3 | 0 |
Birisi arkadaşlık isteği gönderdiğinde gerekli kontroleri yaptıktan sonra friend_request tablosula kayıt edersin.
Diğer kullanıcı kabul edincede friend_list tablosuna 2 adet kayıt eklersin(hem arkadaşlık isteği göndereni hemde kabul eden kişiyi) ve friend_request teki confirm i 0 dan 1 e güncellersin.
Arkadaşlık listesini çekerkende aşağıdaki gibi çekersin
SELECT user.*, friend_list.* FROM user LEFT JOIN friend_list ON user.user_id = friend_list.owner_id WHERE users.user_id = ?
WHERE tarih_stunu <= NOW() + INTERVAL 7 DAY
https://stackoverflow.com/questions/4806701/show-records-from-now-till-next-7-days-in-mysql/4806789
VSCode sol üstteki menuden Selection > Column Selection Mode işaretlenmişse işaretini kaldır.
$userId = 1;
$ode = 0;
$a = $db->prepare("SELECT SUM(`borc` - `odenenTutar`) as odenecekTutar FROM `borclar` WHERE `odemeDurumu` != 2 AND `uyeId` = ?");
$a->execute([$userId]);
$userDept = $a->fetch(PDO::FETCH_ASSOC);
$b = $db->prepare("SELECT * FROM `borclar` WHERE `odemeDurumu` != 2 AND `uyeId` = ?");
$b->execute([$userId]);
$depts= $b->fetchAll(PDO::FETCH_ASSOC);
if(isset($userDept["odenecekTutar"])){
echo "Ödenecek tutar: ".$userDept["odenecekTutar"]."₺<br>";
if(isset($_POST["tutar"]) && intval($_POST["tutar"]) > 0){
$ode = intval($_POST["tutar"]);
}
if($ode <= $userDept["odenecekTutar"] && $ode > 0){
echo "<pre>";
foreach($depts as $dept){
$odenecek = $dept["borc"] - $dept["odenenTutar"];
if($ode > 0){
if($ode >= $odenecek){
$durum = 2;
$odenen = $dept["odenenTutar"] + $odenecek;
}else if($ode < $odenecek){
$durum = 1;
$odenen = $dept["odenenTutar"] + $ode;
}else{
$durum = 0;
$odenen = 0;
}
$borc_ode = $db->prepare("REPLACE INTO `borclar` SET `id` = :id, `uyeId` = :uyeId, `borc` = :borc, `odenenTutar` = :odenenTutar, `toplamBorc` = :toplamBorc, `odemeDurumu` = :odemeDurumu, `tarih` = :tarih");
$borc_ode->execute([
":id" => $dept["id"],
":uyeId" => $dept["uyeId"],
":borc" => $dept["borc"],
":odenenTutar" => $odenen,
":toplamBorc" => $dept["toplamBorc"],
":odemeDurumu" => $durum,
":tarih" => $dept["tarih"]
]);
echo "Ödenen: $odenen, ödenecek: $odenecek, durum: $durum, $ode <br>";
print_r($dept);
echo "<br>";
$ode -= $odenecek;
}
}
echo "</pre>";
}
}else {
echo "Kullanıcıya ait borc bulunamadı.<br>";
}
http://patorjk.com/software/taag/ şöyle bir yer buldum işine yarar mı bilmem.
neden o kadar mesaj geliyor bilemedim.