$arr yazan yere bir şey yazmayacaksınız, o $arr değişkeninin içerisindeki değerleri execute metodunun içerisine yayıyoruz. Spread operatörü araştırın
Bunlardan önce de Post ile gelen değerleri alıp içerisinden submit butonunun değerini çıkardık.
Alın size en kısa yöntem, ama arkadaşın yaptığı gibi bu CRUD işlemleri için ayriyeten bir sınıf yazmanızı tavsiye ederim yine de
if (isset($_POST['formbir'])) {
$arr = array_values($_POST);
array_pop($arr);
$onaylananurunlerigoster = $db->prepare("INSERT INTO sepetonaylanan
(sepetonaylanan_adisoyadi, sepetonaylanan_firmaadi, sepetonaylanan_sehiradi,
sepetonaylanan_ilcesemt, sepetonaylanan_telefon, sepetonaylanan_eposta,
sepetonaylanan_siparisnotlari, sepetonaylanan_urun_stokkodu,
sepetonaylanan_urun_stoksayisi) VALUES (?,?,?,?,?,?,?,?,?)");
$execute = $onaylananurunlerigoster->execute([...$arr]);
echo $execute ? 'New record created successfully' : 'Failed';
}
Şartlar:
- PHP Sürümü 7.4 veya üzeri olması lazım
- Posttan gönderdiğiniz veriler veri tabanına kaydederken yazdığınız sırada olması lazım
- Formda submit butonu name i olarak düşündüğüm 'formbir' name i dışında bir input name daha olmaması lazım ve bu onay butonunun en sonda olması lazım
Bir html sayfa oluşturun, bu sayfayı mailPage.php gibi bir adla kaydedin. Mailin body kısmı bu sayfa olacak. Head etiketleri arasında css yazmak için style etiketi oluşturun ve css kodlarını buraya yazın. Mail göndereceğiniz yere bu sayfayı require_once ile dahil edin.
ob_start();
require_once 'mailPage.php';
$mailBody = ob_get_clean();
Bu mail page sayfası içerisinde dahil ettiğiniz sayfadaki değişkenleri kullanabilirsiniz
Size tavsiyem bu bilgileri yine de cookide tutmayın, adamın 1 dakika içerisinde bu işlemi yapacağını garantisi yok. Db ye kaydetme aşamasını mail gönderme sırasında yapın. En az 3 sütun olsun: e posta, token ve onay. Mail gittiğinde bu token ı token sütununa kaydedin, mail i mail e ve onay sütununa da 0 koyun. Mail içeriği olarak da ister dümdüz get parametreleri ile token i gönderin isterseniz de bir şifreleme algoritması ile şifrelerini öyle gönderin. Kullanıcı tıkladığında yönlenecek
Olduğu sayfada bu token ın bulunduğu satırdaki onayı 1 yapınca kullanıcı üyelik işlemini tamamlamış olur
Hatalı
var saat = zaman.getHours;
var dakika = zaman.getMinutes;
Doğrusu
var saat = zaman.getHours();
var dakika = zaman.getMinutes();
function firstXChars($string, $chars = 100)
{
preg_match("@^.{0,$chars}.*?\b@iu", $string, $matches);
return $matches[0];
}
<!doctype html>
<html lang="tr">
<head>
<meta charset="UTF-8">
<meta name="viewport"
content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
<style>
body {
display: flex;
}
</style>
</head>
<body>
<?php
$images = [
'https://www.rastgeleresim.com/images/turkish-cuisine-480547_1280.jpg',
'https://www.rastgeleresim.com/images/traffic-3612474_1280.jpg',
'https://www.rastgeleresim.com/images/take-532097_1280.jpg',
'https://www.rastgeleresim.com/images/tailor-2778734_1280.jpg',
'https://www.rastgeleresim.com/images/white-cat-4134639_1280.jpg',
'https://www.rastgeleresim.com/images/blue-mosque-908510_1280.jpg'
];
foreach ($images as $image) { ?>
<div class="fea-img">
<img src=""><br>
<input type="text" value="<?= $image ?>" readonly><br>
<button class="goster">Göster</button>
</div>
<?php }
?>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
<script>
$(function () {
$(".goster").on("click", function () {
$(this).siblings("img").attr({
src: $(this).siblings("input").val(),
width: 250,
height: 250
})
})
})
</script>
</body>
</html>
@rephp7 Aynen hocam ben de o şekil yapıyorum ama yine de uğraştırıyor
$('#tablo').DataTable({
footerCallback: function () {
let api = this.api(),
intVal = (i) => typeof i === 'string' ?
i.replace(/[TL,]/g, '') * 1 :
typeof i === 'number' ? i : 0,
total1 = api
.column(4)
.data()
.reduce((a, b) => {
return intVal(a) + intVal(b);
}, 0),
total2 = api
.column(5)
.data()
.reduce((a, b) => {
return intVal(a) + intVal(b);
}, 0),
pageTotal1 = api
.column(4, {page: 'current'})
.data()
.reduce((a, b) => {
return intVal(a) + intVal(b);
}, 0),
pageTotal2 = api
.column(5, {page: 'current'})
.data()
.reduce((a, b) => {
return intVal(a) + intVal(b);
}, 0)
$(api.column(5).footer()).html(`Bu sayfa: ${pageTotal1.toFixed(2)} TL
Toplam: ${total1.toFixed(2)} TL`);
$(api.column(6).footer()).html(`Bu sayfa: ${pageTotal2.toFixed(2)} TL
Toplam: ${total2.toFixed(2)} TL`);
}
})