免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
用戶登錄程序(版本2)
今天,我們把我們上一篇博文中的小項目做一個升級版本!
 
1、產(chǎn)生彩色的驗證碼
 
在上一篇文中,我們產(chǎn)生了隨機的驗證碼, 但是我們在有的網(wǎng)站上看到的驗證碼是彩色的,那么,我們怎么來產(chǎn)生彩色的驗證碼呢?
 
如果要產(chǎn)生彩色的驗證碼,那么就代表在網(wǎng)頁上的表現(xiàn)形式就是1AQ9這種形式了,那么就代表網(wǎng)頁中的源代碼的表現(xiàn)也就只能為<span style=”color:rgb(x,y,z)”>x</span>!原因很簡單,因為四個數(shù)字的顏色是不同的!當然,除了span標記,也可以由其他的標記來代替!如b、i、strongem等內(nèi)聯(lián)標記!
 
我們再來討論一個問題:如果有多個頁面都要使用隨機數(shù)的話,每個頁面都寫這么多代碼,這個工作量是可想而知的!那么最好的解決方法就是:首先將其封裝成自定義函數(shù),并且其存儲在某一個文檔內(nèi),然后,我們想調(diào)用該函數(shù)的話,我們只需要調(diào)用該文件就可以了(還記得包含文件嗎?)!
 
好了,可以工作了!
 
function  random()
 
{
 
       $chars = "0123456789";
 
       for($i=0;$i<4;$i++)
 
       {
 
              $char = substr($chars,rand(0,strlen($chars)-1),1);    
       
              $randChar .= "<span style=\"color:rgb(".rand(50,180).",".rand(50,180).",".rand(50,180).")\">" . $char . "</span>";
 
       }
 
       return $randChar;
 
}
 
 
現(xiàn)在我們再將上面的函數(shù)來升一級,那就是:我們已經(jīng)將隨機數(shù)的長度固定了,最好的方法是我們將系統(tǒng)的配置存儲在一個配置文件里,由用戶來決定隨機數(shù)的長度!
 
好了,我們來創(chuàng)建一個配置文件----www.yx67.com/config.include.php
 
$config[“random”][“l(fā)ength”] = 4;
 
那么現(xiàn)在的問題就是如何將$config[“random”][“l(fā)ength”]的變量引入到函數(shù)內(nèi)部,那就需要在函數(shù)內(nèi)部添加global關(guān)鍵詞了!
 
那么函數(shù)就變成了
 
function  random()
 
{
 
       global  $config;
       $chars = "0123456789";
 
       for($i=0;$i<$config["random"]["length"];$i++)
 
       {
 
              $char = substr($chars,rand(0,strlen($chars)-1),1);   
        
              $randChar .= "<span style=\"color:rgb(".rand(50,180).",".rand(50,180).",".rand(50,180).")\">" . $char . "</span>";
 
       }
 
       return $randChar;
 
}
 
當然,RGB顏色理論上的范圍為0255,但是我們一般的取值范圍為50-180之間!
運行后的效果如下:
 
 
另外,我們發(fā)現(xiàn)產(chǎn)生的驗證碼中存在相同的數(shù)字,如果我現(xiàn)在不想產(chǎn)生相同的數(shù)字,那該怎么辦呢?當產(chǎn)生一個數(shù)字后,我們就把產(chǎn)生的這個數(shù)字從原字符串中刪除就可以了!
 
那么函數(shù)就變成了:
 
function  random()
 
{
 
       global  $config;
 
       $chars = "0123456789";
 
       for($i=0;$i<$config["random"]["length"];$i++)
 
       {
 
              $char = substr($chars,rand(0,strlen($chars)-1),1);
 
              $chars = str_replace($char,null,$chars);
 
              $randChar .= "<span style=\"color:rgb(".rand(50,180).",".rand(50,180).",".rand(50,180).")\">" . $char . "</span>";
 
       }
 
       return $randChar;
 
}
 
其效果如下:
 
 
2.數(shù)據(jù)庫問題
 
在一個項目中會存在多個頁面都會操作數(shù)據(jù)庫的情況,如果每個頁面都去連接數(shù)據(jù)庫,情況就會變成很繁瑣!根據(jù)隨機數(shù)的經(jīng)驗,我們也將其封裝成自定義函數(shù)!代碼如下:
 
<?php
 
function connect()
 
{
 
       global $config;
 
       $conn = mysql_connect($config["server"]["hostname"],$config["server"]["username"],$config["server"]["password"]);
 
       mysql_select_db($config["server"]["database"]);
 
       return $conn;
 
}
 
function query($sql)
 
{
 
       $result = mysql_query($sql);
 
       return $result;
 
}
 
function getRowsNum($result)
 
{
 
       $rowsNum = mysql_num_rows($result);
 
       return $rowsNum;
 
}
 
function getFieldsNum($result)
 
{
 
       $fieldsNum = mysql_num_fields($result);
 
       return $fieldsNum;
 
}
 
function getFieldName($result,$fieldIndex)
 
{
       $fieldName = mysql_field_name($result,$fieldName);
 
       return  $fieldName;
 
}
 
function getRow($result)
 
{
 
       $row = mysql_fetch_assoc($result);
 
       return $row;
 
}
 
function checkUserLogin($sql)
 
{
 
    $result = query($sql);
 
    $rowsNum = getRowsNum($result);
 
    $userLogined = $rowsNum ? true : false;
 
    return $userLogined;
 
}
 
function freeResult($result)
 
{
 
       return mysql_free_result($result);
 
}
 
function close()
 
{
 
       return mysql_close();
 
}
 
?>
 
項目的運行結(jié)果如下
 
 
本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
MySQL函數(shù)&存儲過程
5個相見恨晚的Excel常用函數(shù),你知道多少?
Linux C語言操作MySQL
C語言擴展Apache模塊開發(fā)入門篇
Mysql UDF
Node.js中JavaScript操作MySQL的常用方法整理
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服