php简单登陆退出模块代码

原创文章,转载请注明: 转载自勤奋的小青蛙
本文链接地址: php简单登陆退出模块代码

昨晚给朋友讲解php,做一个简单的登陆退出小系统,做好之后,代码放上来,java程序员可以顺便学点php的知识哦!

在windows下开发PHP,我首选 AppServ 和 eclipse for php,这两个均可以从谷歌搜索下载到,其中安装Appserv中的mysql的时候,用户名密码均为: root 数据库安装好之后,创建一个数据库为 user,user数据库有个表叫做admin,admin有三个属性name,pass,id。name 和 pass 都是varchar,长度为50,id为bigint类型,自增长类型数据,设为主键。

其中的sql脚本如下:

/*
SQLyog 企业版 - MySQL GUI v8.14 
MySQL - 5.0.51b-community-nt-log : Database - user
*********************************************************************
*/


/*!40101 SET NAMES utf8 */;

/*!40101 SET SQL_MODE=''*/;

/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
CREATE DATABASE /*!32312 IF NOT EXISTS*/`user` /*!40100 DEFAULT CHARACTER SET gbk COLLATE gbk_bin */;

USE `user`;

/*Table structure for table `admin` */

DROP TABLE IF EXISTS `admin`;

CREATE TABLE `admin` (
  `name` varchar(255) collate gbk_bin default NULL,
  `pass` varchar(255) collate gbk_bin default NULL,
  `id` bigint(20) NOT NULL auto_increment,
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=13 DEFAULT CHARSET=gbk COLLATE=gbk_bin;

/*Data for the table `admin` */

insert  into `admin`(`name`,`pass`,`id`) values ('admin','admin',1),('yy','yy',2),('root','root',3),('root','root',4),('root','root',5),('yy','yy',6),('gg','gg',7),('a','a',12),('','',11);

/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;

下面是代码,注释都在代码里。

首先是:index.php 做一个简单的表单

<html>
	<head>
		<title>欢迎来登录</title>
		<script type="text/javascript" src="js/check.js"></script>
	</head>
	<body>
		欢迎来登陆<hr />
		<form action="login.php" method="post" onsubmit="return check();">
			用户名:<input type="text" name="username" id="name"/><br />
			密  码:<input type="text" name="password" id="pass" /><br />
			<input type="submit" value="登陆"> 
			<a href="getuser.php">注册</a> 
		</form>
	</body>
</html>

然后是处理程序login.php,这里面涉及到php对mysql的连接,查询......

<?php
	session_start();
	$username = $_POST['username'];
	$pass = $_POST['password'];
	$link = mysql_connect('localhost', 'root', 'root');
	if (!$link) {
		die('Could not connect: ' . mysql_error());
	} else {
		mysql_select_db('user', $link) or die ('Can\'t use user : ' . mysql_error());
		$sql = "select * from admin where name='".$username."' and pass='".$pass."'";
		$result = mysql_query($sql) or die("Invalid query: " . mysql_error());
		if (mysql_num_rows($result) > 0){
			mysql_close($link);
			$_SESSION['user'] = 'user';
			echo "<script type='text/javascript'>alert('登陆成功!');</script>";
			echo "<script type='text/javascript'>window.location.href='usercenter.php'</script>";
		} else {
			echo "<script type='text/javascript'>alert('登陆失败!');</script>";
			echo "<script type='text/javascript'>window.location.href='index.php'</script>";
		}
	}
?>

紧接着是:usercenter.php,这里面只是个登陆成功之后的界面,里面有个session验证,还有个退出的超链接

<?php 
	session_start();
	if (! (isset($_SESSION['user']))) {
		echo "<script type='text/javascript'>alert('登陆失败!');</script>";
		echo "<script type='text/javascript'>window.location.href='index.php'</script>";
	}
?>
<html>
	<head>
		<title>个人中心</title>
	</head>
	<body>
		欢迎你回来!| <a href="logout.php">退出</a>
	</body>
</html>

最后是退出代码 logout.php

<?php
	session_start();
    session_unset();
    session_destroy();
	echo "<script type='text/javascript'>alert('退出成功!');</script>";
	echo "<script type='text/javascript'>window.location.href='index.php'</script>";
?>

注册的页面是:getuser.php,只是做一个简单的表单,跟index.php几乎一样,只是修改了form的action

<html>
	<head>
		<title>欢迎来注册</title>
		<script type="text/javascript" src="js/check.js"></script>
	</head>
	<body>
		欢迎来注册<hr />
		<form action="register.php" method="post" onsubmit="return check();">
			用户名:<input type="text" name="username" id="name"/><br />
			密  码:<input type="text" name="password" id="pass" /><br />
			<input type="submit" value="注册">
		</form>
	</body>
</html>

注册处理程序:register.php

<?php
	session_start();
	session_unset();
	session_destroy();
	$link = mysql_connect('localhost', 'root', 'root');
	if (!$link) {
		die('Could not connect: ' . mysql_error());
	} else {
		mysql_select_db('user', $link) or die ('Can\'t use user : ' . mysql_error());
		$name = $_POST['username'];
		$pass = $_POST['password'];
		$sql = "insert into admin(name,pass) values('".$name."','".$pass."')";
		mysql_query($sql) or die("Invalid query: " . mysql_error());
		echo "<script type='text/javascript'>alert('注册成功,请登陆!');</script>";
		echo "<script type='text/javascript'>window.location.href='index.php'</script>";
	}
?>

最后我还写了段脚本,用来检验用户名和密码不能为空。

function check(){
	var name = document.getElementById('name').value;
	var pass = document.getElementById('pass').value;
	if (name == "" || name == null) {
		alert("姓名不能为空!");
		document.getElementById('name').focus();
		return false;
	}
	if (pass == "" || pass == null) {
		alert("密码不能为空!");
		document.getElementById('pass').focus();
		return false;
	}
	return true;
}

整个小小的项目,可以锻炼下一个人的Web基础吧,源例子代码在此,大家可以下载。

http://www.jyguagua.com/go/download.php?id=30

原创文章,转载请注明: 转载自勤奋的小青蛙
本文链接地址: php简单登陆退出模块代码

文章的脚注信息由WordPress的wp-posturl插件自动生成



|2|left
打赏

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: