session_start()必須在有輸出之前使用,麻煩檢查下代碼,或或者吧代碼貼上來。
目前成都創(chuàng)新互聯(lián)已為數(shù)千家的企業(yè)提供了網(wǎng)站建設(shè)、域名、網(wǎng)頁空間、網(wǎng)站托管、企業(yè)網(wǎng)站設(shè)計、沁源網(wǎng)站維護等服務(wù),公司將堅持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。
簡單的說,手機驗證和手機注冊是差不多的。
手機驗證:
首先你在php代碼中生成一串字符串,可以保存在session里面,然后在把這串字符串通過短信服務(wù)(這一步需要去買,找代理,前提你獲得了用戶的正確手機號碼)發(fā)給用戶,然后提供一個輸入框給用戶輸入收到的驗證碼在和session中的比對。
手機注冊:
前面的部分都是和上面一樣,多出來的步驟就是驗證成功后把信息存入用戶數(shù)據(jù)庫而已,最多在存入之前讓用戶再輸入一點用戶其他信息。
以上驗證碼可以擴展一下,比如有效時間,直接在session中設(shè)置有效時間,過期作廢的限制就可以了。
你可以去后盾人平臺看看,里面的東西不錯
php做短信驗證碼,需要將手機號,發(fā)送的驗證碼和時間這幾個存到數(shù)據(jù)庫,在添加到數(shù)據(jù)庫的時候,要判斷里面有沒有要存的手機號,有的話,就更新驗證碼和時間,沒有就是添加,在使用驗證碼判定的時候,取出驗證碼和時間,判斷驗證碼是否正確,時間是否在自己設(shè)置的有效時間段內(nèi),整個過程就是這樣。
這個就是比較基礎(chǔ)的事情啦
你的代碼中:if(mysql_affected_rows($link)!=0)
意思是某個查詢所影響的行數(shù),如果用戶名和密碼都不對,將返回0行,當然就不能通過驗證啦
這樣是一次性驗證了用戶名和密碼.
但是你的sql語句有問題
應(yīng)該這樣 : $sql2="select * from user where name = '$name' and password = '$pass'";
你要獲取查詢的結(jié)果: 一般都用 mysql_fetch_array();
按照你上面例子用法
$result = mysql_query (select * from user where name = '$name')
$row = mysql_fetch_array($result);
如果你的sql語句沒錯話,用戶名又存在
那么 就返回了一個數(shù)組 $row
你用echo $row[0] 或者 $row['name'] 試試就可以獲得內(nèi)容
你獲得了用戶名之后,就可以繼續(xù)查詢秘密是否正確啦..
原來一樣
還不懂的話,來我博客看看 我也在學(xué)習(xí)php 大家交流一下