Rumah > Artikel > pembangunan bahagian belakang > PHP melaksanakan fungsi penghantaran berjadual kod pengesahan SMS
PHP melaksanakan fungsi penghantaran berjadual kod pengesahan SMS, yang memerlukan contoh kod khusus
Dengan perkembangan Internet, pengesahan SMS telah menjadi kaedah pengesahan keselamatan yang biasa digunakan dalam pelbagai aplikasi. Apabila pendaftaran pengguna atau operasi pengguna penting diperlukan, menggunakan kod pengesahan SMS boleh menghalang pendaftaran berniat jahat dan kecurian akaun dengan berkesan. Untuk meningkatkan pengalaman pengguna, kami boleh melaksanakan fungsi penghantaran berjadual kod pengesahan SMS, membolehkan pengguna menerima kod pengesahan dalam tempoh masa tertentu, sekali gus meningkatkan kepuasan pengguna.
Dalam artikel ini, kami akan menggunakan bahasa PHP untuk menunjukkan cara melaksanakan fungsi ini. Kami menganggap bahawa sudah ada antara muka untuk menghantar mesej SMS, dan kami hanya perlu menyepadukan antara muka ini untuk menghantar mesej SMS. Sekarang mari kita lihat langkah pelaksanaan khusus.
Langkah 1: Tetapkan masa penghantaran
Pertama, kita perlu menetapkan masa penghantaran kod pengesahan SMS. Kami boleh menetapkan masa penghantaran kod pengesahan SMS untuk dihantar 1 minit selepas pengguna mengklik butang Dapatkan Kod Pengesahan. Untuk mencapai fungsi ini, kita boleh menggunakan fungsi masa date()
dan strtotime()
dalam PHP. Contoh kod adalah seperti berikut: date()
和strtotime()
来实现。代码示例如下:
//设定短信发送时间为1分钟后 $sendTime = date('Y-m-d H:i:s', strtotime('+1 minute'));
步骤2:生成验证码
生成验证码是短信功能重要的一步。我们可以使用PHP中的随机数函数rand()
或者mt_rand()
来生成一个6位数的验证码。代码示例如下:
//生成6位数的验证码 $code = rand(100000, 999999);
步骤3:保存验证码和发送时间
接下来,我们需要将生成的验证码和发送时间保存到数据库或者缓存中,便于用户在1分钟内通过验证码进行验证。我们假设有一个名为verification_code
的数据表,其中有两个字段code
和send_time
,我们可以使用SQL语句将验证码和发送时间保存到数据表中。代码示例如下:
//将验证码和发送时间保存到数据库 $sql = "INSERT INTO verification_code (code, send_time) VALUES ('$code', '$sendTime')"; mysqli_query($connection, $sql);
步骤4:触发发送短信
一旦保存了验证码和发送时间,我们需要触发短信的发送功能。我们可以调用短信发送API的接口来实现。代码示例如下:
//调用短信发送API接口 $response = sms_send($mobile, $code);
这里的sms_send()
//用户输入的验证码 $userCode = $_POST['code']; //根据用户输入的验证码和发送时间从数据库中查询验证码 $sql = "SELECT code, send_time FROM verification_code WHERE code = '$userCode' AND send_time >= NOW() - INTERVAL 1 MINUTE"; $result = mysqli_query($connection, $sql); if (mysqli_num_rows($result) > 0) { //验证成功 echo "验证码验证通过"; } else { //验证失败 echo "验证码已过期或不正确"; }Langkah 2: Jana kod pengesahan
Menjana kod pengesahan ialah langkah penting untuk fungsi SMS. Kita boleh menggunakan fungsi nombor rawak rand()
atau mt_rand()
dalam PHP untuk menjana kod pengesahan 6 digit. Contoh kod adalah seperti berikut:
rrreee
Seterusnya, kita perlu menyimpan kod pengesahan yang dijana dan masa menghantar ke pangkalan data atau cache, supaya pengguna boleh mengesahkan melalui kod pengesahan dalam masa 1 minit. Kami menganggap bahawa terdapat jadual data bernama verification_code
, yang mempunyai dua medan code
dan send_time
Kami boleh menggunakan pernyataan SQL untuk menggabungkan kod pengesahan dan Masa penghantaran disimpan ke jadual data. Contoh kod adalah seperti berikut:
Langkah 4: Pencetus penghantaran SMS
Setelah kod pengesahan dan masa penghantaran disimpan, kita perlu mencetuskan fungsi penghantaran SMS. Kami boleh menghubungi antara muka API penghantaran SMS untuk mencapai ini. Contoh kod adalah seperti berikut:
sms_send()
di sini ialah fungsi penghantaran SMS simulasi, yang perlu digantikan dengan antara muka API penghantaran SMS yang sepadan mengikut situasi sebenar. 🎜🎜Langkah 5: Pengesahan Pengguna🎜Apabila pengguna menerima kod pengesahan SMS, pengguna perlu mengesahkan kod pengesahan dalam masa 1 minit. Kami perlu mengesahkan kod pengesahan yang dimasukkan oleh pengguna dengan masa penghantaran untuk memastikan kod pengesahan berada dalam tempoh sah. Contoh kod adalah seperti berikut: 🎜rrreee🎜Melalui langkah di atas, kami berjaya melaksanakan fungsi penghantaran berjadual kod pengesahan SMS, dan pengguna boleh mengesahkan melalui kod pengesahan dalam masa 1 minit. 🎜🎜Ringkasan: 🎜Dalam artikel ini, kami menunjukkan cara menggunakan bahasa PHP untuk melaksanakan fungsi penghantaran berjadual kod pengesahan SMS. Kami berjaya melaksanakan fungsi penghantaran berjadual kod pengesahan SMS dengan menetapkan masa penghantaran, menjana kod pengesahan, menyimpan kod pengesahan dan masa penghantaran, mencetuskan penghantaran SMS dan pengesahan pengguna. Saya harap artikel ini akan membantu anda memahami dan menguasai ciri ini. 🎜Atas ialah kandungan terperinci PHP melaksanakan fungsi penghantaran berjadual kod pengesahan SMS. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!