@qplot Valla hocam ben artık karar verdim bu arkadaşın gönderilerine yazmamaya :) ne zaman yazsam sorun asla çözüme ulaşmıyor
Aslında şu an fark ettim de ben o operatöre kafayı o an taktığım için biraz gereksiz uzatmışım :) Aksiyona gerek yokmuş azıcık düşününce fark ettim. Direkt olarak şöyle de olabilir. Siz de daha sonra bu gönderiyi okuyanlar da kusura bakmayın :)
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';
}
Lokalde bu özelliği kullanmak istiyorsanız 7.4 ü yüklemeniz gerekir, sunucuda ise zaten versiyon seçme opsiyonu vardır diye düşünüyorum
Hayır hocam, ne görüyosanız onu yazın
$execute = $onaylananurunlerigoster->execute([...$arr]);
[...$arr] bunun açılımı şu demek;
[$arr[0], $arr[1], $arr[2], $arr[3],$arr[4],$arr[5],$arr[6],$arr[7],$arr[8],$arr[9]]
ama dediğim gibi bu özellik sadece PHP 7.4 ve üzerinde çalışır
$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();