Rumah > pembangunan bahagian belakang > tutorial php > Cara mengodkan borang pendaftaran dengan pengesahan e -mel

Cara mengodkan borang pendaftaran dengan pengesahan e -mel

Jennifer Aniston
Lepaskan: 2025-02-27 09:36:15
asal
369 orang telah melayarinya

How to Code a Signup Form With Email Confirmation

Tutorial ini akan membimbing anda untuk membuat borang pendaftaran pengguna yang menambah pengguna ke pangkalan data dan kemudian menghantar e -mel pengesahan yang pengguna mesti klik untuk mengaktifkan akaun mereka.

Buat borang pendaftaran dari awal

Bahagian ini akan menerangkan langkah demi langkah dalam membina borang pendaftaran tersuai dari awal. Pertama, saya telah melampirkan semua fail kod untuk anda muat turun supaya anda boleh mengikuti tutorial.

mari kita lihat dengan cepat fail penting:

  • : Ini adalah fail utama yang digunakan untuk membina dan memaparkan borang pendaftaran. Ia juga memproses penyerahan borang. index.php
  • : Digunakan untuk memproses bahagian pengesahan. confirm.php
  • : Ini adalah templat fail HTML yang digunakan untuk membina badan e -mel HTML. signup_template.html
  • : Ini adalah templat fail teks biasa yang digunakan untuk membina badan e -mel teks biasa. signup_template.txt
  • : Mengandungi maklumat sambungan pangkalan data. inc/php/config.php
Selebihnya fail adalah fail tambahan.

Buka phpmyadmin atau mana -mana program yang anda gunakan untuk menguruskan pangkalan data MySQL dan buat pangkalan data baru. Anda boleh menamakannya seperti yang anda suka, tetapi saya akan namakannya

. Sekarang kita perlu membuat skema yang akan menyimpan maklumat pengguna dan maklumat pengesahan kami. Untuk melakukan ini, kami akan membuat dua jadual: email_signup dan users. confirm

CREATE TABLE `users` (
  `id` int(11) NOT NULL auto_increment,
  `username` varchar(50) NOT NULL default '',
  `password` varchar(128) NOT NULL default '',
  `email` varchar(250) NOT NULL default '',
  `active` binary(1) NOT NULL default '0',
  PRIMARY KEY  (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
Salin selepas log masuk
Salin selepas log masuk
pernyataan MySQL di atas akan membuat jadual bernama

. users

  • : urutan integer yang digunakan sebagai pengenal unik untuk pengguna. Ia ditakrifkan sebagai id, yang bermaksud ia boleh memegang sehingga 11 bit bilangan bulat. int(11)
  • : lajur rentetan yang menyimpan nama pengguna setiap pengguna. Ia ditakrifkan sebagai username, yang bermaksud ia dapat menjimatkan sehingga 50 aksara. varchar(50)
  • : lajur rentetan yang menyimpan kata laluan hash untuk setiap pengguna. Ia ditakrifkan sebagai password, yang bermaksud ia boleh memegang sehingga 128 aksara. varchar(128)
  • : lajur rentetan yang menyimpan alamat e -mel setiap pengguna. Ia ditakrifkan sebagai email, yang bermaksud ia dapat menjimatkan sehingga 250 aksara. varchar(250)
  • : Lajur binari yang menyimpan sama ada akaun pengguna telah diaktifkan. Ia ditakrifkan sebagai active, yang bermaksud ia menyimpan nilai byte, 0 bermakna tidak aktif dan 1 bermaksud diaktifkan. binary(1)

Jadual: confirm

CREATE TABLE `confirm` (
  `id` int(11) NOT NULL auto_increment,
  `userid` varchar(128) NOT NULL default '',
  `key` varchar(128) NOT NULL default '',
  `email` varchar(250) default NULL,
  PRIMARY KEY  (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
Salin selepas log masuk
Salin selepas log masuk
pernyataan MySQL di atas akan membuat jadual bernama

. confirm

  • id: urutan integer yang digunakan sebagai pengenal unik untuk mengesahkan rekod. Ia ditakrifkan sebagai int(11), yang bermaksud ia boleh memegang sehingga 11 bit bilangan bulat.
  • userid: lajur rentetan yang menyimpan ID pengguna yang dikaitkan dengan rekod pengesahan. Ia ditakrifkan sebagai varchar(128), yang bermaksud ia boleh memegang sehingga 128 aksara.
  • key: lajur rentetan yang menyimpan kekunci pengesahan yang dihantar ke alamat e -mel pengguna. Ia ditakrifkan sebagai varchar(128), yang bermaksud ia boleh memegang sehingga 128 aksara.

Sambung ke pangkalan data MySQL menggunakan MySQLI

Bahagian ini akan menerangkan cara menggunakan sambungan MySQLI untuk menyambung ke pangkalan data MySQL.

Marilah kita dengan cepat mengekstrak dan memahami kod fail inc/php/config.php.

CREATE TABLE `users` (
  `id` int(11) NOT NULL auto_increment,
  `username` varchar(50) NOT NULL default '',
  `password` varchar(128) NOT NULL default '',
  `email` varchar(250) NOT NULL default '',
  `active` binary(1) NOT NULL default '0',
  PRIMARY KEY  (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
Salin selepas log masuk
Salin selepas log masuk

Pertama, kami membuat sambungan MySQLI baru. Kemudian, kita periksa sama ada sambungan itu berjaya. Jika sambungan gagal, mesej ralat dipaparkan dan keluar.

membentuk pemprosesan penyerahan

Bahagian ini akan menerangkan bagaimana bentuk penyerahan bentuk berfungsi.

... (Sesetengah kod ditinggalkan di sini, kerana bahagian kod dalam teks asal adalah panjang dan tidak konsisten dengan matlamat asal pseudo, jadi simpan logik teras) ...

Logik utama ialah: Memproses input pengguna dengan selamat (contohnya, gunakan mysqli_real_escape_string fungsi untuk mengelakkan suntikan SQL), sahkan bahawa input pengguna selesai, masukkan data pengguna ke dalam pangkalan data, menghasilkan kunci pengesahan, dan hantar e -mel pengesahan. Kata laluan hashed menggunakan fungsi MD5, dan disyorkan untuk menggunakan kaedah penyulitan yang lebih selamat.

Paparkan Pengesahan Borang

mari kita mengeluarkan coretan kod penting dari fail confirm.php untuk memahami bagaimana ia berfungsi.

CREATE TABLE `confirm` (
  `id` int(11) NOT NULL auto_increment,
  `userid` varchar(128) NOT NULL default '',
  `key` varchar(128) NOT NULL default '',
  `email` varchar(250) default NULL,
  PRIMARY KEY  (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
Salin selepas log masuk
Salin selepas log masuk

Kod ini terutamanya memeriksa sama ada terdapat peti mel dan kunci pengesahan dalam pangkalan data yang sepadan dengan parameter URL. Jika hadir, kemas kini status pengguna untuk diaktifkan dan padamkan rekod pengesahan.

Kesimpulan

tutorial ini berakhir di sini.

Dalam tutorial ini, kami merangkumi pelbagai aspek yang berbeza. Kami memuat turun dan memasukkan skrip pihak ketiga untuk memproses e-mel, melaksanakan pengesahan bentuk mudah, dan mencipta sistem templat mudah untuk e-mel gaya. Jika anda tidak biasa dengan MySQL, kami telah meliputi tiga fungsi yang paling biasa, jadi anda harus dapat menyelesaikan tutorial yang lebih maju dengan mudah.

Atas ialah kandungan terperinci Cara mengodkan borang pendaftaran dengan pengesahan e -mel. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan