菜鸟求教,如何将验证码的验证跟帐号密码加到一块去
求救啊附上源码
<?php require_once('Connections/kangci.php'); ?><?php$maxRows_a = 10;$pageNum_a = 0;if (isset($_GET['pageNum_a'])) { $pageNum_a = $_GET['pageNum_a'];}$startRow_a = $pageNum_a * $maxRows_a;mysql_select_db($database_kangci, $kangci);$query_a = "SELECT * FROM zhanghao";$query_limit_a = sprintf("%s LIMIT %d, %d", $query_a, $startRow_a, $maxRows_a);$a = mysql_query($query_limit_a, $kangci) or die(mysql_error());$row_a = mysql_fetch_assoc($a);if (isset($_GET['totalRows_a'])) { $totalRows_a = $_GET['totalRows_a'];} else { $all_a = mysql_query($query_a); $totalRows_a = mysql_num_rows($all_a);}$totalPages_a = ceil($totalRows_a/$maxRows_a)-1;$queryString_a = "";if (!empty($_SERVER['QUERY_STRING'])) { $params = explode("&", $_SERVER['QUERY_STRING']); $newParams = array(); foreach ($params as $param) { if (stristr($param, "pageNum_a") == false && stristr($param, "totalRows_a") == false) { array_push($newParams, $param); } } if (count($newParams) != 0) { $queryString_a = "&" . htmlentities(implode("&", $newParams)); }}$queryString_a = sprintf("&totalRows_a=%d%s", $totalRows_a, $queryString_a);?><?php// *** Validate request to login to this site.if (!isset($_SESSION)) { session_start();}$loginFormAction = $_SERVER['PHP_SELF'];if (isset($_GET['accesscheck'])) { $_SESSION['PrevUrl'] = $_GET['accesscheck'];}if (isset($_POST['test'])) { $loginUsername=$_POST['test']; $password=$_POST['textfield']; $MM_fldUserAuthorization = "jibie"; $MM_redirectLoginSuccess = ""; $MM_redirectLoginFailed = "chatu2.php"; $MM_redirecttoReferrer = false; mysql_select_db($database_kangci, $kangci); $LoginRS__query=sprintf("SELECT name, password, jibie FROM zhanghao WHERE name='%s' AND password=md5('%s')", get_magic_quotes_gpc() ? $loginUsername : addslashes($loginUsername), get_magic_quotes_gpc() ? $password : addslashes($password)); $LoginRS = mysql_query($LoginRS__query, $kangci) or die(mysql_error()); $array=mysql_fetch_array($LoginRS); $loginFoundUser = mysql_num_rows($LoginRS); if ($loginFoundUser) { $loginStrGroup = mysql_result($LoginRS,0,'jibie'); switch($array['jibie']){ case 1: $MM_redirectLoginSuccess = "chatu2.php?recordID=$loginUsername"; break; case 2: $MM_redirectLoginSuccess = "321.php?recordID=$loginUsername"; break; case 3: $MM_redirectLoginSuccess = "Location.php?recordID=$loginUsername"; break; } //declare two session variables and assign them $_SESSION['MM_Username'] = $loginUsername; $_SESSION['MM_UserGroup'] = $loginStrGroup; if (isset($_SESSION['PrevUrl']) && false) { $MM_redirectLoginSuccess = $_SESSION['PrevUrl']; } header("Location: " . $MM_redirectLoginSuccess ); } else { header("Location: ". $MM_redirectLoginFailed ); }}?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=gb2312" /><title>动态案例站</title><style type="text/css"><!--body { background-image: url(7981635_091456690000_2.jpg); background-repeat: no-repeat;}--></style></head><body><table width="100%" height="79%" border="0"> <tr> <td height="140"> </td> </tr></table><div align="center"><table width="300" height="150" border="0"><tr><td><form ACTION="<?php echo $loginFormAction; ?>" id="form1" name="form1" method="POST"> <p> 帐号:<input name="test" type="text" /></p> <p> <label> 密码:<input type="password" name="textfield" /> </label> </p> <p><script>function changeid(id){ document.getElementById(id).src ='yzm.php?'+Math.random(1); } </script>验证码<Input type="text" name="yz" id="yz" size="8" /> <Img title="看不清,换一张" id="pc" onclick="changeid('pc')" /> <label> <input type="submit" name="Submit" value="登入" /> </label> </p></form></tr></table></div><br></body></html><?phpmysql_free_result($a);?>
下面这一块是验证码……
<?phpsession_start();$nmsg="";for($i=0;$i<4;$i++){ $nmsg.=dechex(mt_rand(0,15));} $_SESSION["code"]=$nmsg;header("Content-Type:image/jpeg");$width=75;$height=25;$img=imagecreatetruecolor($width,$height);$white=imagecolorallocate($img,255,255,255);imagefill($img,0,0,$white);$flag=false;if($flag){ $black=imagecolorallocate($img,0,0,0); imagerectangle($img,0,0,$width-1,$height-1,$black);}for($j=0;$j<6;$j++){ $randcolor=imagecolorallocate($img,mt_rand(0,255),mt_rand(0,255),mt_rand(0,255)); imageline($img,mt_rand(0,$width),mt_rand(0,$height),mt_rand(0,$width),mt_rand(0,$height),$randcolor);}for($k=0;$k<100;$k++){ $rc=imagecolorallocate($img,mt_rand(200,255),mt_rand(200,255),mt_rand(200,255)); imagestring($img,1,mt_rand(1,$width),mt_rand(1,$height),"*",$rc);}for($s=0;$s<strlen($nmsg);$s++){ $randcolor=imagecolorallocate($img,mt_rand(0,100),mt_rand(0,150),mt_rand(0,200)); imagestring($img,mt_rand(3,5),$s*$width/strlen($nmsg)+mt_rand(1,10),mt_rand(1,$height/2),$nmsg[$s],$randcolor);}imagejpeg($img);imagedestroy($img);?>
回复讨论(解决方案)
提交后检查验证码和$_SESSION["code"]是否对应就是了
if($_post['yz'])==$_session['code'])
可以,不过$_post 应为 $_POST, $_session 应为 $_SESSION
报错了…………
既然报错就把错误信息贴出来
if($_POST['yz'] == $_SESSION['code'])
<?phpif (!isset($_SESSION)) { session_start();}$loginFormAction = $_SERVER['PHP_SELF'];if (isset($_GET['accesscheck'])) { $_SESSION['PrevUrl'] = $_GET['accesscheck'];}if (isset($_POST['test'])) { $loginUsername=$_POST['test']; $password=$_POST['textfield']; $MM_fldUserAuthorization = "jibie"; $MM_redirectLoginSuccess = ""; $MM_redirectLoginFailed = "chatu2.php"; $MM_redirecttoReferrer = false; mysql_select_db($database_kangci, $kangci); $LoginRS__query=sprintf("SELECT name, password, jibie FROM zhanghao WHERE name='%s' AND password=md5('%s')", get_magic_quotes_gpc() ? $loginUsername : addslashes($loginUsername), get_magic_quotes_gpc() ? $password : addslashes($password)); $LoginRS = mysql_query($LoginRS__query, $kangci) or die(mysql_error()); $array=mysql_fetch_array($LoginRS); $loginFoundUser = mysql_num_rows($LoginRS); if($_POST['yz'] == $_SESSION['code']) { if ($loginFoundUser) { $loginStrGroup = mysql_result($LoginRS,0,'jibie'); switch($array['jibie']){ case 1: $MM_redirectLoginSuccess = "chatu2.php?recordID=$loginUsername"; break; case 2: $MM_redirectLoginSuccess = "321.php?recordID=$loginUsername"; break; case 3: $MM_redirectLoginSuccess = "Location.php?recordID=$loginUsername"; break; } //declare two session variables and assign them $_SESSION['MM_Username'] = $loginUsername; $_SESSION['MM_UserGroup'] = $loginStrGroup; if (isset($_SESSION['PrevUrl']) && false) { $MM_redirectLoginSuccess = $_SESSION['PrevUrl']; } header("Location: " . $MM_redirectLoginSuccess ); } } else { header("Location: ". $MM_redirectLoginFailed ); }}?>
报的错是直接说我加的这行代码错误- -
另再求问下大大……做会员模块的话数据库的设计思路……如何实现一个帐号只允许一个IP登陆啊

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

PHP和Python各有優勢,選擇依據項目需求。 1.PHP適合web開發,尤其快速開發和維護網站。 2.Python適用於數據科學、機器學習和人工智能,語法簡潔,適合初學者。

在PHP中,應使用password_hash和password_verify函數實現安全的密碼哈希處理,不應使用MD5或SHA1。1)password_hash生成包含鹽值的哈希,增強安全性。 2)password_verify驗證密碼,通過比較哈希值確保安全。 3)MD5和SHA1易受攻擊且缺乏鹽值,不適合現代密碼安全。

PHP在電子商務、內容管理系統和API開發中廣泛應用。 1)電子商務:用於購物車功能和支付處理。 2)內容管理系統:用於動態內容生成和用戶管理。 3)API開發:用於RESTfulAPI開發和API安全性。通過性能優化和最佳實踐,PHP應用的效率和可維護性得以提升。

PHP是一種廣泛應用於服務器端的腳本語言,特別適合web開發。 1.PHP可以嵌入HTML,處理HTTP請求和響應,支持多種數據庫。 2.PHP用於生成動態網頁內容,處理表單數據,訪問數據庫等,具有強大的社區支持和開源資源。 3.PHP是解釋型語言,執行過程包括詞法分析、語法分析、編譯和執行。 4.PHP可以與MySQL結合用於用戶註冊系統等高級應用。 5.調試PHP時,可使用error_reporting()和var_dump()等函數。 6.優化PHP代碼可通過緩存機制、優化數據庫查詢和使用內置函數。 7

PHP仍然具有活力,其在現代編程領域中依然佔據重要地位。 1)PHP的簡單易學和強大社區支持使其在Web開發中廣泛應用;2)其靈活性和穩定性使其在處理Web表單、數據庫操作和文件處理等方面表現出色;3)PHP不斷進化和優化,適用於初學者和經驗豐富的開發者。

PHP類型提示提升代碼質量和可讀性。 1)標量類型提示:自PHP7.0起,允許在函數參數中指定基本數據類型,如int、float等。 2)返回類型提示:確保函數返回值類型的一致性。 3)聯合類型提示:自PHP8.0起,允許在函數參數或返回值中指定多個類型。 4)可空類型提示:允許包含null值,處理可能返回空值的函數。

PHP和Python各有優劣,選擇取決於項目需求和個人偏好。 1.PHP適合快速開發和維護大型Web應用。 2.Python在數據科學和機器學習領域佔據主導地位。

PHP適合web開發,特別是在快速開發和處理動態內容方面表現出色,但不擅長數據科學和企業級應用。與Python相比,PHP在web開發中更具優勢,但在數據科學領域不如Python;與Java相比,PHP在企業級應用中表現較差,但在web開發中更靈活;與JavaScript相比,PHP在後端開發中更簡潔,但在前端開發中不如JavaScript。
