Tutorial PHP : Mengirim Link Aktivasi Akun ke Email


Dalam kasus tertentu pada saat user melakukan pendaftaran atau melakukan pembuatan akun , user akan diminta untuk melakukan semacam konfirmasi bahwa akun/email yang didaftarkan benar – benar miliknya. Link konfirmasi/aktivasi akan dikirim ke email, kemudian ketika link pada email diklik maka akun yang didaftarkan akan bisa login atau melanjutkan ke tahap berikutnya. Pada intinya proses ini dilakukan untuk memastikan bahwa akun yang didaftarkan benar – benar valid, yang dalam hal ini adalah akun email yang digunakan untuk mendaftar pada sistem yang kita buat

Baca juga : 

Desain Database

Saat link konfirmasi / aktivasi akun dikirim ke email yang didaftarkan, dalam contoh kasus yang sederhana, maka link yang dikirim perlu mengandung data berupa email yang didaftarkan beserta kode hash atau semacam token. Sehingga jika demikian maka kita perlu menyimpan sebuah data berupa email dan hash pada database yang nantinya akan dicocokan dengan link yang diklik oleh user

Dalam contoh ini Saya akan menggunakan dua buah tabel pada database MySQL/MariaDB, tabel pertama merupakan tabel user dan kedua tabel pending user. User yang melakukan registrasi pada sistem akan dimasukan ke tabel user dan tabel pending user. Tabel user merupakan berisi data – data untuk login kedalam sistem dan tabel pending user akan menampung data – data untuk melakukan pencocokan link konfirmasi yang digunakan oleh user.

Dalam praktiknya ini agak lumayan kompleks, tapi disini Saya akan buat contoh sederhana saja, dimana disini ketika user dan tabel pending user akan terisi data ketika melakukan registrasi, dan email yang sudah diregistrasikan sebelumnya tidak akan bisa didaftarkan kembali, hanya saja nanti kita akan berikan status 0 (sebagai default data) pada kedua tabel yang belum melukan konfirmasi

Ada dua kondisi yang mungkin disini akan diambil.


  1. User yang telah mendaftar tidak akan bisa login ketika link aktivasi/konfirmasi akun belum di klik
  2. User yang telah mendaftar namun belum melakukan konfirmasi email akan tetap bisa login ke sistem web namun hak akses ke halaman tertentu akan dibatasi atau semacamnya
Dari dua kondisi diatas, Saya akan mencontohkan kondisi yang pertama. Untuk desain databasenya bisa Anda lihat pada kode sql dibawah ini

CREATE TABLE `field_pending_user` (
  `uid` int(10) UNSIGNED NOT NULL COMMENT 'user id',
  `email` varchar(254) NOT NULL COMMENT 'email user pending',
  `hash` varchar(32) NOT NULL COMMENT 'hash for verification',
  `pending_status` tinyint(1) NOT NULL DEFAULT 0 COMMENT 'status pengaktifkan akun'
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Dumping data for table `field_pending_user`
--

INSERT INTO `field_pending_user` (`uid`, `email`, `hash`, `pending_status`) VALUES
(1, 'usertest@mail.com', 'a9a1d5317a33ae8cef33961c34144f84', 0),
(2, 'myroot593@gmail.com', '9b04d152845ec0a378394003c96da594', 1);

-- --------------------------------------------------------

--
-- Table structure for table `field_user`
--

CREATE TABLE `field_user` (
  `uid` int(10) UNSIGNED NOT NULL COMMENT 'user id pengguna',
  `username` varchar(60) NOT NULL COMMENT 'username pengguna',
  `email` varchar(254) DEFAULT NULL COMMENT 'email pengguna',
  `pass` varchar(255) NOT NULL COMMENT 'password',
  `status` tinyint(4) NOT NULL DEFAULT 0 COMMENT '1 user aktif 0 user blokir'
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Dumping data for table `field_user`
--

INSERT INTO `field_user` (`uid`, `username`, `email`, `pass`, `status`) VALUES
(1, 'user', 'usertest@mail.com', '$2y$10$cB.dHL1R0pdc34A/8ZeZT.2fk2v93gCgrfvOr7b8tx6cJpUmClyrS', 0),
(2, 'aze_', 'myroot593@gmail.com', '$2y$10$WLYIWo.I3o/JN0uKYQ5IGeodCJRcjhdnY2wj3tKDQhdLion2iuftS', 1);

--
-- Indexes for dumped tables
--

--
-- Indexes for table `field_pending_user`
--
ALTER TABLE `field_pending_user`
  ADD PRIMARY KEY (`uid`),
  ADD KEY `mail` (`email`),
  ADD KEY `uid` (`uid`);

--
-- Indexes for table `field_user`
--
ALTER TABLE `field_user`
  ADD PRIMARY KEY (`uid`),
  ADD KEY `uid` (`uid`);



Contoh Kode


Ada beberapa kode yang mungkin perlu kita buat, tapi disini saya akan coba jelaskan poin – poin penting dari tutorialnya saja, dimana kita mengirim link konfirmasi yang berisi hash, serta bagaimana kita mencocokan link/hash yang dikirim melalui email. Ada 3 file yang akan kita buat, yang pertama db.php, index.php dan test_konfirmasi.php


Lihat kodenya di Github myroot593


tampilan saat di eksekusi pada browse

Kurang lebih nanti hasil kode akan terlihat seperti diatas


Tahap selanjutnya kode bisa Anda uji, Anda bisa mengisi beberapa data kemudian lakukan test uji konfirmasi, jika berhasil status pada dua tabel akan menjadi satu (1) seperti yang terlihat pada tabel diatas.


Contoh kode diatas masih belum lengkap karena hanya sebatas menyimpan kode hash ke tabel yang kemudian dicocokan. Karena dalam praktikanya link konfirmasi perlu dikirim ke email yang telah diregistrasikan, maka saat melakukan pendaftaran kita perlu menambahkan fungsi mail() php untuk mengirim kode link konfirmasi ke pesan email

Pada index.php, Anda bisa membuat/menambah parameternya menjadi seperti berikut


<?php

if($obj->insertUser($username, $email, $pass))
                {
                        $last=$obj->insertlastid_to_pending_user();
                                if($obj->insertPending_user($last, $email, $hash))
                                {
                                        //kita tambahkan
                                                $to = $email;
                                                $from = "admin@".$_SERVER['SERVER_NAME']."";
                                                $subject = "Konfirmasi Akun";                                   
                                                $message = '
                                                Terima kasih sudah mendaftar ! akun Anda sudah dibuat'."\r\n";
                                                $message .='Anda dapat segera login dengan mengklik'."\r\n";
                                                $message .='tautan dibawah ini'."\r\n";
                                                
                                                

                                                $message.='-------------------------'."\r\n";
                                                $message .='Username : '.$username.''."\r\n";
                                                $message .= 'Password : '.$pass.''."\r\n";
                                                $message.='-------------------------'."\r\n";
                                                $message .='Klik link konfirmasi dibawah ini'."\r\n";
                                                $message .='http://'.$_SERVER['SERVER_NAME'].'/test_konfirmasi.php?email='.$email.'&hash='.$hash.''."\r\n";
                                                        $message .='Anda dapat mengabaikan ini, jika ini bukan Anda'."\r\n";
                                                $headers = $from;
                                                
                                                //mail(to, subject, message, $headers)
                                                mail($to, $subject, $message, $headers);

                                        echo "<div class='alert alert-success'>Data berhasil disimpan</div>";
                                }
                                else
                                {
                                        echo "<div class='alert alert-danger'>Terjadi kesalahan saat menyimpan ke pending user</div>";
                                }
                }
                else
                {
                        echo "<div class='alert alert-danger'>Gagal menyimpan user</div>";
                }
?>


Untuk melihat hasil apakah link konfirmasi dikirim ke email, maka mungkin Anda perlu menghosting kode tersebut ke webhosting. Dalam kode parameter mail diatas, pada pesan email, Saya menyertakan username dan password yang telah dimasukan oleh user saat mendaftar.



 

0 Response to "Tutorial PHP : Mengirim Link Aktivasi Akun ke Email"

Post a Comment

Komentar yang Anda kirim akan terlebih dahulu di moderasi oleh Admin

Virgobet88lotre4dBandar Lotre4DGama69RajajagoGama69GAMA69RajajagoRajaJagohttps://linkr.bio/gama69https://mez.ink/rajajagohokiToto Slot 4D Lotre4DRajajago Rajajago Lotre4D Onlinevirgobet88 daftarRajajago GameVirgobet88Slot Virgobet88Linkr Virgobet88Virgobet88analisis ritme spin berdasarkan perubahan keberuntungan harian pemain propola spin beruntun yang sering dipakai pemain berhasil untuk maksimalkan hasilstrategi pemain berpengalaman menentukan jam hoki dan tempo spin idealteknik pemain pro mengatur kecepatan spin agar keberuntungan tetap stabilpanduan lengkap memahami ritme dan pola spin untuk meningkatkan peluang menangstrategi spin mahjong ways berdasarkan ritme harian dan perubahan keberuntunganpola efektif mahjong ways dalam memanfaatkan tempo spin untuk jackpotanalisis pemain pro mahjong ways menentukan waktu hoki spin dan kesempatan emasrahasia mahjong ways membaca pola dan mengatur spin agar hasil lebih konsistenpanduan praktis mahjong ways memanfaatkan ritme spin untuk meningkatkan kemenanganstrategi virgobet88 mengatur tempo spin harian untuk peluang menang meningkatrahasia virgobet88 dalam memanfaatkan waktu hoki spin dan pola beruntunvirgobet88 bagikan tips membaca perubahan ritme spin dan menang konsistenpanduan pro virgobet88 mengelola spin berdasarkan perubahan keberuntungananalisis pola spin virgobet88 yang digunakan pemain ahli untuk jackpot beruntunpanduan pemain pro mahjong ways memanfaatkan ritme spin untuk peluang lebih besarstrategi mahjong ways mengatur waktu spin dan tempo agar hasil lebih stabilrahasia pemain ahli mahjong ways menganalisis kecepatan spin dan pola hokiteknik mahjong ways dalam menentukan jam hoki spin berdasarkan ritme hariananalisis mahjong ways mengoptimalkan spin beruntun untuk keberuntungan maksimalvirgobet88 bagikan strategi spin berdasarkan ritme harian agar menang konsistenrahasia virgobet88 dalam mengelola kecepatan spin demi stabilitas hasilstrategi pro virgobet88 menentukan waktu emas dan pola spin beruntunanalisis virgobet88 memanfaatkan perubahan tempo spin untuk meningkatkan hokipanduan virgobet88 membaca pola dan mengelola spin agar tetap stabil dan menguntungkananalisis ritme spin harian untuk menentukan jam hoki yang paling menguntungkanstrategi pemain berpengalaman dalam memilih waktu emas spin agar peluang meningkatpanduan lengkap membaca perubahan tempo spin untuk mengatur keberuntungan harianhasil penelitian tentang pola spin beruntun dan dampaknya pada kemenanganteknik pemain pro menentukan jadwal spin dan kecepatan berdasarkan hoki hariananalisis pemain pro mahjong ways dalam membaca ritme dan momen spin beruntunstrategi harian mahjong ways menentukan waktu emas agar peluang maxwin naikpanduan terbaru mahjong ways memanfaatkan pola spin berdasarkan data pemain proteknik mahjong ways dalam mengatur tempo spin dan keberuntungan secara beriramarahasia pola harian mahjong ways untuk menentukan spin terbaik dengan hasil stabilpetimas88 ungkap pola spin berirama yang sering bikin pemain tembus maxwinstrategi petimas88 menentukan waktu emas spin agar keberuntungan meningkat drastispetimas88 bagikan teknik spin efektif berdasarkan ritme dan perubahan harianrahasia petimas88 mengatur tempo spin untuk hasil lebih stabil dan konsistenpanduan lengkap petimas88 memanfaatkan momen hoki dalam spin beruntunstrategi pemain pro menentukan jam hoki spin agar peluang kemenangan naikhasil studi tentang ritme spin dan pengaruhnya terhadap keberuntungan harianpola efektif mengelola spin berirama untuk mendapatkan hasil yang konsistenrahasia pemain berpengalaman memilih momen terbaik dalam spin beruntunanalisis strategi waktu dan kecepatan spin yang sering dipakai pemain prostrategi harian mahjong ways untuk menentukan waktu emas spin dengan akurasi tinggipanduan mahjong ways membaca pola spin dan keberuntungan berdasarkan ritme harianteknik pro mahjong ways mengelola spin beruntun agar peluang jackpot lebih besarhasil analisis mahjong ways terkait ritme dan tempo spin yang paling efektifrahasia mahjong ways menyesuaikan kecepatan spin untuk hasil stabil dan menguntungkanstrategi pemain berpengalaman menentukan ritme spin berdasarkan waktu hokipola spin harian yang sering digunakan pemain pro untuk meningkatkan peluangpanduan membaca perubahan tempo spin agar lebih konsisten dalam bermainhasil riset terbaru tentang ritme spin dan korelasi keberuntungan pemainteknik pro menentukan jadwal spin harian yang paling efektif untuk stabilitasstrategi harian pemain pro menentukan waktu spin berdasarkan perubahan keberuntunganpanduan membaca ritme dan tempo spin untuk meningkatkan peluang jackpotteknik pemain berpengalaman mengatur kecepatan spin dan menentukan jam hokihasil analisis spin harian berdasarkan pola ritme dan frekuensi kemenanganrahasia pemain pro dalam menentukan momen emas spin yang paling efektifvirgobet88 bagikan strategi spin terbaru dengan analisis waktu hoki yang terbuktitips efektif dari virgobet88 untuk membaca pola spin dan perubahan keberuntunganvirgobet88 ungkap rahasia spin harian berdasarkan data dan kebiasaan pemainpanduan virgobet88 menentukan ritme spin yang konsisten untuk hasil stabilstrategi hoki virgobet88 memanfaatkan waktu tepat spin dan kecepatan bermainstrategi harian pemain pro menentukan pola spin berdasarkan ritme dan keberuntunganpanduan efektif membaca waktu emas spin agar peluang kemenangan meningkathasil penelitian tentang ritme dan tempo spin yang mempengaruhi peluang jackpotrahasia pemain berpengalaman memanfaatkan perubahan tempo spin untuk hasil stabilteknik pro menentukan jam hoki spin dan pola beruntun yang paling efektifstrategi harian mahjong ways dalam memanfaatkan ritme spin dan perubahan keberuntunganpanduan mahjong ways menentukan waktu hoki spin agar peluang jackpot meningkatanalisis mahjong ways terkait tempo spin dan konsistensi kemenangan pemainrahasia pro mahjong ways dalam mengatur spin beruntun dan kecepatan hariantips efektif mahjong ways menyesuaikan ritme dan frekuensi spin untuk hasil optimalstrategi harian pemain pro memanfaatkan ritme dan frekuensi spin untuk meningkatkan bonuspola spin efektif yang digunakan pemain berpengalaman saat perubahan tempo hariananalisis waktu hoki dalam menentukan momen tepat spin agar keuntungan maksimalteknik berlapis spin harian untuk membangun pola beruntun dan peluang jackpotrahasia pemain berhasil mengatur kecepatan spin dan menang lebih konsistenpetimas88 ungkap strategi berlapis spin dan pola hoki untuk bonus lebih seringpetimas88 bagikan cara menentukan jam emas spin agar peluang kemenangan meningkatpetimas88 analisis pola spin harian yang sering memberi keuntungan besarteknik spin pro dari petimas88 dalam mengelola tempo dan frekuensi bermainpetimas88 tips mengatur ritme spin dan meningkatkan stabilitas kemenanganstrategi pemain pro membaca ritme dan waktu emas spin agar peluang bonus naik drastisanalisis ritme spin harian dan cara menentukan momen hoki untuk kemenangan stabilpanduan lengkap mengenali pola spin berirama yang sering munculkan bonus besarrahasia waktu hoki dalam spin harian yang sering digunakan pemain berpengalamantips membaca pola dan kecepatan spin agar tidak kehilangan peluang jackpotstrategi spin mahjong ways membaca perubahan tempo dan menang lebih konsistenpanduan mahjong ways menentukan jam emas spin dan meningkatkan hoki harianteknik pemain pro mahjong ways mengatur ritme spin untuk hasil lebih stabilanalisis mahjong ways terhadap pola spin berlapis yang bisa bikin peluang jackpot naikrahasia mahjong ways memanfaatkan perubahan tempo spin dalam mencapai maxwinmahasiswi kedokteran dapat rp1 5 juta dari trik spiral spin mahjong ways 3 jam subuhmodal rp20 ribu ibu warung di batam menang konsisten berkat spiral mahjong ways 2cuan rp1 juta dari scatter spiral mahjong ways 2 cerita ibu rumah tangga di serangfreelancer editor video cuan dari mahjong ways 3 berkat spiral kombinasi pagi harisupir travel di jogja main spin spiral jam 11 dan menang game mahjong ways 3penjaga kosan surabaya bongkar cara menang mahjong ways 3 tanpa ganti polasupir ojol jakarta barat cuan harian setelah coba tips bermain mahjong ways 3 jam 6pegawai minimarket bekasi pakai spin turbo manual mahjong ways 3 untuk dapat cuanspiral ganjil jam 9 di mahjong ways 3 bikin ibu laundry bekasi dapat rp1 1 jutamahasiswa teknik sipil cuan besar lewat pola spiral rahasia di mahjong ways 2mahasiswi farmasi di medan cuan karena turbo spiral random mahjong ways 2scatter ganjil genap di mahjong ways 2 ternyata cocok buat penjual roti di medanibu warung padang main mahjong ways 2 dan menang dari tips bermain spiral malammahasiswa ilkom di bali pakai mahjong ways 2 untuk dapat bonus lewat spin spiralibu penjual sayur palembang ungkap trik scatter spiral mahjong ways 2 jam subuhtips bermain mahjong ways 2 dari penjual soto pekalongan yang dapat rp950 ribupenjual sate lilit bali main spiral spin tanpa reset di mahjong ways 2 dan balik modalcara menang tanpa reset di mahjong ways 2 dibocorkan supir truk asal karawangpenjual tahu bulat di solo cuan lewat kombinasi scatter spiral mahjong ways 2penjual gorengan menang lewat pola ganjil genap mahjong ways 3 spiral manualpenjual martabak menang game setelah ikuti pola spin turbo mahjong ways 3 hari jumatibu kos di semarang bongkar tips bermain spiral turbo mahjong ways 3 manualsupir online bandung pakai scatter mahjong ways 3 jam 8 dan dapat rp1 2 jutapenjual jus buah menang game lewat spiral mahjong ways 3 jam 10 tanpa resettukang tambal ban dapat uang tambahan dari scatter turbo mahjong ways 2supir angkot cirebon menang game lewat scatter spiral mahjong ways 3 di jam 9mahasiswi hukum di malang menang game karena kombinasi turbo spiral mahjong ways 3buruh harian di tangerang dapat tambahan uang dari mahjong ways 2 spiral konsistenmahasiswi psikologi menang lewat trik bermain spiral pagi di mahjong ways 2mahasiswi biologi temukan pola spin turbo baru di game mahjong ways 3
analisis perbandingan pgsoft vs pragmatic fiturnya dan strategi menangbonus dan bonus rules pada game pgsoft dan pragmatic play panduan lengkapevaluasi grafis dan audio pgsoft vs pragmatic perbandingan dalam praktikdatabase game pgsoft dan pragmatic slot terbaik dengan rank dan ulasanfitur fitur unik pgsoft dan pragmatic cara manfaatkan untuk kemenanganguide mobile optimasi pengalaman pgsoft dan pragmatic di android iosinsight developer dari pgsoft dan pragmatic pendekatan ke desain gamejackpot strategi pgsoft dan pragmatic cara mengejar progresif dengan amankatalog fitur bonus freemium pgsoft dan pragmatic penjelasan terperincikomparatif performa pgsoft dan pragmatic analisis kecepatan dan stabilitasbocoran hari ini pahami pola ini biar ga kalah lagicara menang dengan pola hari ini yang lagi viral di komunitaspahami pola ini dan cara baru kuasai rtp dengan teknik rahasiapola hari ini cara baru kuasai rtp yang bikin banyak orang heran karena efektifpola menang terbaru ternyata ini caranya biar bisa menang tiap hariternyata ini caranya kuasai rtp dengan trik sederhana yang jarang dipakaiternyata ini caranya rahasia pahami pola menang yang belum banyak dibocorkantrik menang hari ini bocoran rahasia yang bikin netizen hebohbocoran hari ini trik menang yang baru ditemukan bikin pemain auto cuanbocoran orang pusat paling ampuh trik pola rtp agar kemenangan meledakbocoran orang pusat cara rahasia menang mudah dengan strategi pola rtpbocoran orang pusat cara rahasia agar pola rtp jadi kunci kemenangan meledakbocoran orang pusat berikan trik strategi pola rtp agar kemenangan meledakbocoran orang pusat rahasia agar kemenangan meledak dengan pola rtpbocoran orang pusat ungkap trik pola rtp agar kemenangan meledak instanbocoran orang pusat ungkap rahasia pola rtp agar kemenangan meledak lebih mudahbocoran orang pusat ungkap cara rahasia trik dan strategi pola rtpbocoran orang pusat ungkap cara rahasia menang mudah dengan trik pola rtpbocoran orang pusat strategi terbukti agar pola rtp jadi kunci menangmahjong ways panduan magang dan perkerjaan di indonesai yang populer cara mendapatkan internshipmahjong ways panduan pengembangan diri dan perkerjaan di indonesai yang populer 2025mahjong ways panduan pengembangan produk dan perkerjaan di indonesai yang populer tahapanmahjong ways panduan portfolio dan perkerjaan di indonesai yang populer contoh website pribadimahjong ways panduan praktis dan perkerjaan di indonesai yang populer cara membangun jaringanmahjong ways panduan proyek portfolio dan perkerjaan di indonesai yang populer contoh nyatamahjong ways panduan sertifikasi dan perkerjaan di indonesai yang populer sertifikat bernilaimahjong ways panduan startup dan perkerjaan di indonesai yang populer ruang kerja dan kulturmahjong ways pelatihan gratis dan perkerjaan di indonesai yang populer sumber belajar onlinemahjong ways peluang kerja di bidang pendidikan dan perkerjaan di indonesai yang populer kualifikasianalisis psikologis mahjong ways cenderung memberi pola ringan setelah kekalahaneksperimen unik pemain temukan pola mahjong ways saat menggunakan headset khususfakta menarik mahjong ways respon gerakan mouse pemain dengan perubahan pola visualmahjong ways 2025 pola adaptasi otomatis yang muncul berdasarkan kebiasaan klikmahjong ways 2025 pola fokus yang meningkatkan rtp saat pemain tanpa gangguanmahjong ways hari ini pola emosional yang terbentuk saat pemain kehilangan fokusmahjong ways hari ini pola interaksi cahaya dan suara yang mempengaruhi keputusanmahjong ways hari ini pola ritme klik yang membuat peluang menang naik 30 persenrahasia mahjong ways pola stimulasi visual yang dirancang untuk membuat pemain lebih lamariset terbaru 2025 mahjong ways menunjukkan respons berbeda saat pemain tanpa suaracara baru mudah menang tanpa modal besar bikin banyak orang penasarananalisis ai 2025 mahjong ways gunakan deep learning untuk memprediksi klikfakta menarik mahjong ways gunakan sensor psikologis untuk menentukan momentummahjong ways 2025 pola kecerdasan buatan membaca kebiasaan klik pemainmahjong ways hari ini pola ai tersembunyi yang mampu mengenali emosi pemainmahjong ways hari ini pola neural hidden layer yang mengatur urutan simbolmahjong ways hari ini pola respons ai berubah setelah pemain klik agresifmahjong ways hari ini pola simulasi perasaan pemain berdampak pada frekuensi scatterpenelitian lanjutan mahjong ways gunakan model ai reaktif untuk menyeimbangkanriset rahasia 2025 mahjong ways menyesuaikan rtp berdasarkan tekanan emosionalteori baru mahjong ways gunakan ai emosional untuk mengatur tingkat kesulitanlembar kerja cara baru mudah menang dengan target micro stakerancangan keras ternyata ini cara mainnya kala trend naiktoolkit cara baru mudah menang dengan parameter amankompas mental pahami pola rtp ini untuk hindari tilt parahroadmap cara baru mudah menang dengan pola bertahap dinamisnarasi lengkap ternyata ini cara mainnya ketika saldo fluktuatifquarterly review pola menang berdasarkan arsip sesi 90 harimetode esensial cara menang berbasis data bukan perasaanobservasi mendalam pola menang saat tren simbol wild lebih aktifpeta perang ternyata ini cara mainnya menghadapi drawdown