php登錄註冊驗證碼功能,php怎麼實現郵箱註冊驗證碼

本文目錄一覽:

如何實現php手機簡訊驗證功能

現在網站在建設網站時為了保證用戶信息的真實性,往往會選擇發簡訊給用戶手機發驗證碼信息,只有通過驗證的用戶才可以註冊,這樣保證了用戶的聯繫信息資料的100%的準確性 。

第一、實現php手機簡訊驗證功能的基本思路

1、要找到簡訊服務提供商,接入簡訊服務

2、在網站信息提交頁面請求發送信息

3、伺服器向簡訊服務提供商通信,提交發送請求

4、簡訊服務提供商通過運營商將信息發送到用戶的手機中

二、手機號碼簡訊驗證前台頁面效果實現

!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN”

html xmlns

head

title/title

script src=”js/jquery-1.4a2.min.js” type=”text/javascript”/script

script type=”text/javascript”

/*——————————————-*/

var InterValObj; //timer變數,控制時間

var count = 60; //間隔函數,1秒執行

var curCount;//當前剩餘秒數

var code = “”; //驗證碼

var codeLength = 6;//驗證碼長度

function sendMessage() {

curCount = count;

var dealType; //驗證方式

tel = $(』#tel』).val();

if(tel!=』』){

//驗證手機有效性

var myreg = /^(((13[0-9]{1})|(15[0-9]{1})|(18[0-9]{1}))+\d{8})$/;

if(!myreg.test($(』#tel』).val()))

{

alert(』請輸入有效的手機號碼!』);

return false;

}

tel = $(』#tel』).val();

//產生驗證碼

for (var i = 0; i codeLength; i++) {

code += parseInt(Math.random() * 9).toString();

}

//設置button效果,開始計時

$(“#btnSendCode”).attr(“disabled”, “true”);

$(“#btnSendCode”).val(“請在” + curCount + “秒內輸入驗證碼”);

InterValObj = window.setInterval(SetRemainTime, 1000); //啟動計時器,1秒執行一次

//向後台發送處理數據

$.ajax({

type: “POST”, //用POST方式傳輸

dataType: “text”, //數據格式:JSON

url: 』yanzhengma.php』, //目標地址(根據實際地址)

data: “tel=” + tel + “code=” + code,

error: function (XMLHttpRequest, textStatus, errorThrown) { },

success: function (msg){ }

});

}else{

alert(』請填寫手機號碼』);

}

}

//timer處理函數

function SetRemainTime() {

if (curCount == 0) {

window.clearInterval(InterValObj);//停止計時器

$(“#btnSendCode”).removeAttr(“disabled”);//啟用按鈕

$(“#btnSendCode”).val(“重新發送驗證碼”);

code = “”; //清除驗證碼。如果不清除,過時間後,輸入收到的驗證碼依然有效

}

else {

curCount–;

$(“#btnSendCode”).val(“請在” + curCount + “秒內輸入驗證碼”);

}

}

/script

/head

body

input name=”tel” id=tel type=”text” /

input id=”btnSendCode” type=”button” value=”發送驗證碼” onclick=”sendMessage()” //p

/body

/html

第三、調用簡訊伺服器簡訊介面

整理的頁面是yanzhengma.php(具體根據服務商提供信息)

?php //提交簡訊

$post_data = array();

$post_data[』userid』] = 簡訊服務商提供ID;

$post_data[』account』] = 』簡訊服務商提供用戶名』;

$post_data[』password』] = 』簡訊服務商提供密碼』;

// Session保存路徑

$sessSavePath = dirname(__FILE__).”/../data/sessions/”;

if(is_writeable($sessSavePath) is_readable($sessSavePath)){

session_save_path($sessSavePath);

}

session_register(』mobliecode』);

$_SESSION[』mobilecode』] = $_POST[“code”];

$content=』簡訊驗證碼:』.$_POST[“code”].』【簡訊驗證】』;

$post_data[』content』] = mb_convert_encoding($content,』utf-8』, 』gb2312』); //簡訊內容需要用urlencode編碼下

$post_data[』mobile』] = $_POST[“tel”];

$post_data[』sendtime』] = 』』; //不定時發送,值為0,定時發送,輸入格式YYYYMMDDHHmmss的日期值

$url=』』;

$o=』』;

foreach ($post_data as $k=$v)

{

$o.=”$k=”.$v.』』;

}

$post_data=substr($o,0,-1);

$ch = curl_init();

curl_setopt($ch, CURLOPT_POST, 1);

curl_setopt($ch, CURLOPT_HEADER, 0);

curl_setopt($ch, CURLOPT_URL,$url);

curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);

//curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); //如果需要將結果直接返回到變數里,那加上這句。

$result = curl_exec($ch);

?

第四:提交表單信息時對簡訊驗證碼驗證

//手機驗證碼開始

session_start();

$svalitel = $_SESSION[』mobilecode』];

$vdcodetel = empty($vdcodetel) ? 』』 : strtolower(trim($vdcodetel));

if(strtolower($vdcodetel)!=$svalitel || $svalitel==』』)

{

ResetVdValue();

//echo “Pageviews=”.$vdcodetel;

ShowMsg(“手機驗證碼錯誤!”, 』-1』);

exit();

}

php驗證碼怎麼實現

1. 新建code.php驗證碼生成文件

在此之前必須打開php的GD庫,修改php.ini文件的配置,取消extension=php_gd2.dll前面的分號。代碼如下:

?php

session_start();

//生成驗證碼圖片

Header(“Content-type: image/PNG”);

$im = imagecreate(44,18);

$back = ImageColorAllocate($im, 245,245,245);

imagefill($im,0,0,$back); //背景

srand((double)microtime()*1000000);

//生成4位數字

for($i=0;$i4;$i++){

$font = ImageColorAllocate($im, rand(100,255),rand(0,100),rand(100,255));

$authnum=rand(1,9);

$vcodes.=$authnum;

imagestring($im, 5, 2+$i*10, 1, $authnum, $font);

}

for($i=0;$i100;$i++) //加入干擾象素

{

$randcolor = ImageColorallocate($im,rand(0,255),rand(0,255),rand(0,255));

imagesetpixel($im, rand()p , rand()0 , $randcolor);

}

ImagePNG($im);

ImageDestroy($im);

$_SESSION[‘Checknum’] = $vcodes;

?

2. 顯示驗證碼圖片

在需要顯示驗證碼的頁面中加入

input type=”text” name=”passcode”

img src=”code.php”

3.判斷並獲取驗證碼的值

驗證碼是通過第一步驟代碼中的$_SESSION[‘Checknum’] = $vcodes;賦的值,所以驗證碼的值存在$_SESSION[‘Checknum’]當中。在驗證頁面,使用以下代碼,

session_start();//啟動會話

$code=$_POST[“passcode”];

if( $code == $_SESSION[“Checknum”])

{…}即可完成驗證碼登錄。

運行截圖:

望採納,謝謝

php怎麼實現驗證碼的

驗證碼功能機制實現思路

常規的驗證碼實現:

a、產生一張png的圖片

b、為圖片設置背景色

c、設置字體顏色和樣式

d、產生4位數的隨機的驗證碼

e、把產生的每個字元調整旋轉角度和位置畫到png圖片上

f、加入噪點和干擾線防止註冊機器分析原圖片來惡意註冊

g、輸出圖片

h、釋放圖片所佔內存

i、將驗證碼保存到session或是資料庫

j、將和輸入的驗證碼進行對比

簡訊(郵箱)驗證碼機制:

a、產生4-6位數的隨機的驗證碼

b、把產生的每個字元保存到session或是資料庫

c、將驗證碼發送到用戶的手機(郵箱)

d、用戶在規定時間內進行輸入

e、將驗證碼從session或是資料庫中取出

f、將和輸入的驗證碼進行對比驗證

怎麼用php實現手機註冊和手機驗證

簡單的說,手機驗證和手機註冊是差不多的。

手機驗證:

首先你在php代碼中生成一串字元串,可以保存在session裡面,然後在把這串字元串通過簡訊服務(這一步需要去買,找代理,前提你獲得了用戶的正確手機號碼)發給用戶,然後提供一個輸入框給用戶輸入收到的驗證碼在和session中的比對。

手機註冊:

前面的部分都是和上面一樣,多出來的步驟就是驗證成功後把信息存入用戶資料庫而已,最多在存入之前讓用戶再輸入一點用戶其他信息。

以上驗證碼可以擴展一下,比如有效時間,直接在session中設置有效時間,過期作廢的限制就可以了。

我的php代碼中登陸界面加一個驗證碼,如何實現

php登陸頁面+驗證碼的實現,參考如下:

1、首先新建一個php站點;

2、先新建一個命名為yzm.php文件,雙擊編輯,清空Dreamweaver自動生成的HTML代碼,如下;

?php

session_start();

header(“Content-Type:image/png”);  //設置頁面的頭信息輸出為png圖片$im=imagecreate(60,20);   //創建一個畫布

$im_color=imagecolorallocate($im,100,100,100);  //填充驗證碼背景為灰色

for($i=0;$i4;$i++)

{

$line_color=imagecolorallocate($im,rand(0,255),rand(0,255),rand(0,255));

imageline($im,rand(0,60),rand(0,20),rand(0,60),rand(0,20),$line_color);

}

//實用循環畫四條隨機顏色的干擾線

$n=rand(1000,9999);

$_SESSION[“y”]=$n;

$p=0;

for($i=0;$i4;$i++)

{

$p=$p+10;

$num=substr($n,$i,1);  //把驗證碼數字一個一個的取出來

$num_color=imagecolorallocate($im,rand(0,255),rand(0,255),rand(0,255));

imagettftext($im,rand(10,15),rand(-10,10),$p,rand(10,15),$num_color,”font1.ttf”,$num);

}

//設置每個驗證碼數字不同的顏色,數字角度偏差和字體。

imagepng($im);  //輸出驗證碼

imagedestroy($im); //釋放內存

3、新建login.php文件;

用戶名文本框昵稱為name;

密碼文本框為psw;

驗證碼為yzm;

表單的提交方式為post,提交到check.php。

原創文章,作者:CGJW,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/139785.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
CGJW的頭像CGJW
上一篇 2024-10-04 00:22
下一篇 2024-10-04 00:22

相關推薦

  • PHP和Python哪個好找工作?

    PHP和Python都是非常流行的編程語言,它們被廣泛應用於不同領域的開發中。但是,在考慮擇業方向的時候,很多人都會有一個問題:PHP和Python哪個好找工作?這篇文章將從多個方…

    編程 2025-04-29
  • PHP怎麼接幣

    想要在自己的網站或應用中接受比特幣等加密貨幣的支付,就需要對該加密貨幣擁有一定的了解,並使用對應的API進行開發。本文將從多個方面詳細闡述如何使用PHP接受加密貨幣的支付。 一、環…

    編程 2025-04-29
  • Git config命令用法介紹:用正確的郵箱保障開發工作

    本文將詳細介紹如何使用git config命令配置Git的全局和本地用戶信息,特別是如何正確使用用戶郵箱,保障Git操作的正常進行。 一、git config命令介紹 Git中的每…

    編程 2025-04-29
  • Java和Python哪個功能更好

    對於Java和Python這兩種編程語言,究竟哪一種更好?這個問題並沒有一個簡單的答案。下面我將從多個方面來對Java和Python進行比較,幫助讀者了解它們的優勢和劣勢,以便選擇…

    編程 2025-04-29
  • Akka 設置郵箱大小的方法和注意事項

    為了保障系統的穩定性和可靠性,Akka 允許用戶設置郵箱大小。本文將介紹如何在 Akka 中設置郵箱大小,並且提供一些注意事項,以幫助讀者解決可能遇到的問題。 一、設置郵箱大小 A…

    編程 2025-04-28
  • Python每次運行變數加一:實現計數器功能

    Python編程語言中,每次執行程序都需要定義變數,而在實際開發中常常需要對變數進行計數或者累加操作,這時就需要了解如何在Python中實現計數器功能。本文將從以下幾個方面詳細講解…

    編程 2025-04-28
  • 使用PHP foreach遍歷有相同屬性的值

    本篇文章將介紹如何使用PHP foreach遍歷具有相同屬性的值,並給出相應的代碼示例。 一、基礎概念 在講解如何使用PHP foreach遍歷有相同屬性的值之前,我們需要先了解幾…

    編程 2025-04-28
  • Python strip()函數的功能和用法用法介紹

    Python的strip()函數用於刪除字元串開頭和結尾的空格,包括\n、\t等字元。本篇文章將從用法、功能以及與其他函數的比較等多個方面對strip()函數進行詳細講解。 一、基…

    編程 2025-04-28
  • PHP獲取301跳轉後的地址

    本文將為大家介紹如何使用PHP獲取301跳轉後的地址。301重定向是什麼呢?當我們訪問一個網頁A,但是它已經被遷移到了另一個地址B,此時若伺服器端做了301重定向,那麼你的瀏覽器在…

    編程 2025-04-27
  • 全能的wpitl實現各種功能的代碼示例

    wpitl是一款強大、靈活、易於使用的編程工具,可以實現各種功能。下面將從多個方面對wpitl進行詳細的闡述,每個方面都會列舉2~3個代碼示例。 一、文件操作 1、讀取文件 fil…

    編程 2025-04-27

發表回復

登錄後才能評論