Heim > Backend-Entwicklung > PHP-Tutorial > PHP-Code-Implementierung der Hintergrundanmeldung (einschließlich Bestätigungscode)

PHP-Code-Implementierung der Hintergrundanmeldung (einschließlich Bestätigungscode)

不言
Freigeben: 2023-03-24 19:08:02
Original
4028 Leute haben es durchsucht

这篇文章介绍的内容是关于后台登录(包含验证码)的php代码实现 ,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下

login.html文件
<html>
<title>login in</title>
<body>
<form action="handle_login.php" method="post"/>
用户名:<input type="text" name="username"/><br/>
密码:<input type="password" name="password"/><br/>
验证码:<input type="text" name="imgcode"><img src="code.php" width="200px" height="30px"><br/>
<input type="submit" name="button" value="登陆">
</form>
</body>
</html>  
 




code.php文件
<?php
session_start();//首先要启动session
// Set the content-type
header("Content-type: image/png"); // 告诉浏览器当前文件产生的结果以png形式进行输出
 
// Create the image
$im = imagecreate(200, 30);  // 创建一张宽为200,高为30的画布
 
// Create some colors
$bg = imagecolorallocate($im, 155, 100, 255); // 给画布加上背景颜色
$white = imagecolorallocate($im, 255, 255, 255);  // 三原色白色
//$grey = imagecolorallocate($im, 128, 128, 128);
$black = imagecolorallocate($im, 0, 0, 0);  // 黑色
 
$numer_array = range(0,9); // 生成一个0到9范围的数组
$abc = range(&#39;a&#39;,&#39;z&#39;);     // 生成一个a到z范围的数组
$big_abc = range(&#39;A&#39;,&#39;Z&#39;);  // 生成一A到Z范围的数组
$big_chars = array_merge($numer_array,$abc,$big_abc); // 将上述三个数组进行合并
 
 
$font = &#39;simsun.ttc&#39;;  // 设定字体文件的路径
$myimagecode = &#39;&#39;;
for($i=0;$i<4;$i++){
   $str = $big_chars[rand(0,61)]; // 从合并后的数组中随机取一个字符
   $myimagecode = $myimagecode.$str; //将这个验证码字符窜存入变量myimagecode中
   $a=50*$i;
   $b=50*($i+1);
   imagettftext($im, 20, 0, mt_rand($a,$b), mt_rand(20,30), $black, $font, $str); // 将取出的字符写在画布上
}
$_SESSION[&#39;thisimagecode&#39;] = $myimagecode;
for($i=0;$i<200;$i++){
   imagesetpixel( $im,mt_rand(0,200),mt_rand(0,30),$white); // 给画布加上点
}  
 
for($i=0;$i<4;$i++){
    imageline($im, mt_rand(0,200),mt_rand(0,30), mt_rand(0,200), mt_rand(0,30),$black  ); //给画面加上线条
}       
 
imagepng($im);  // 将图像以png形式输出
imagedestroy($im);  // 将图像资源从内存中销毁,以节约资源
?>
 
handle_login.php文件
 
<?php
session_start();
#接受提交过来的用户名及密码
$username = trim($_POST[&#39;username&#39;]);//用户名
$password = trim($_POST[&#39;password&#39;]);//密码
$imgcode = strtolower($_POST[&#39;imgcode&#39;]);//接受从登陆输入框提交过来的验证码并转化为小写;
$myimagecode  = strtolower($_SESSION[&#39;thisimagecode&#39;]) ;//从session中取得验证码并转化为小写;
if($imgcode!=$myimagecode){
     echo &#39;请输入正确的验证码&#39;;exit;
}
#拿着提交过来的用户名和密码去数据库查找,看是否存在此用户名以及其密码  
$link=mysql_connect(&#39;localhost&#39;,&#39;root&#39;,&#39;123456&#39;);
mysql_query(&#39;set names utf8&#39;);
$re=mysql_select_db(&#39;companysystem&#39;,$link);
$sql="select *from admin where username = &#39;$username&#39;and password=&#39;$password&#39; ";
$result=mysql_query($sql);
$rows=mysql_fetch_assoc($result);
if($rows){
  $SESSION[&#39;is_login&#39;]=$rows[&#39;username&#39;];
  echo &#39;登陆成功&#39;;
 
}else{
  $is_login=&#39;&#39;;
  echo &#39;登陆失败&#39;;
}
?>
Nach dem Login kopieren

相关推荐:

php+mysql实现简单登录注册修改密码网页



Das obige ist der detaillierte Inhalt vonPHP-Code-Implementierung der Hintergrundanmeldung (einschließlich Bestätigungscode). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage