采用php与Mysql数据库完成用户注册登录等操作

1、采用PHPMysql数据库,完成用户注册程序,注册表单项可自由指定,尽量包含所有表单类型,注册成功后在新页面显示注册信息,注册中需要上传的照片的操作功能使用自定义函数调用,并在注册成功后显示照片。

2、采用PHPMysql数据库,完成用户登录功能。

步骤如下:

(1)数据库设计:

users.sql:

set default_storage_engine=InnoDB;
set character_set_client = gbk ; 
set character_set_connection = gbk ; 
set character_set_database = gbk ; 
set character_set_results = gbk ; 
set character_set_server = gbk ; 
create database register; 
use register; 
create table users( 
     user_id int primary key auto_increment, 
     userName char(20) not null unique, 
     password char(10) not null, 
     sex char(10) not null, 
     interests char(100), 
     my_picture char(200), 
     remark text 
); 


(2)注册界面:

register.htnl:

<!DOCTYPE html>
<h2>用户注册系统</h2> 
<hr/> 
<form action="register.php" method="post" enctype="multipart/form-data"> 
用 户 名: 
<input type="text" name="userName" size="20" maxlength="15" value="必须填写用户名" /> 
@ 
<select name="domain"> 
  <option value="@163.com" selected>163.com</option> 
  <option value="@126.com">126.com</option> 
</select> 
<br/> <br/> 
登录密码: 
<input type="password" name="password" size="20" maxlength="15" /> 
<br/> <br/> 
确认密码: 
<input type="password" name="confirmPassword" size="20" maxlength="15" /> 
<br/> <br/> 
选择性别: 
<input name="sex" type="radio" value="男" checked />男 
<input name="sex" type="radio" value="女" />女 
<br/> <br/> 
个人爱好: 
<input name="interests[]" type="checkbox" value="音乐" checked />音乐 
<input name="interests[]" type="checkbox" value="游戏" checked />游戏  
<input name="interests[]" type="checkbox" value="电影" />电影 
<input name="interests[]" type="checkbox" value="篮球" />篮球
<br/> <br/> 
个人相片: 
<input type="file" name="myPicture" size="25" maxlength="100" /> 
<br/> <br/> 
备注信息 : 
<textarea name="remark" cols="30" rows="4">请填写备注信息</textarea> 
<br/> <br/> 
<input type="submit" name="submit" value="注册按钮" /> 
<input type="reset" name="cancel" value="重新填写" /> 
</form>

注册操作程序:

register.php:

<?php 
include_once("functions/fileSystem.php"); 
include_once("functions/database.php"); 
if(empty($_POST)){ 
     exit("您提交的表单数据超过post_max_size的配置!<br/>"); 
} 
$password = $_POST['password']; 
$confirmPassword = $_POST['confirmPassword']; 
if($password!=$confirmPassword){ 
     exit("输入的密码和确认密码不相等!"); 
} 
$userName = $_POST['userName']; 
$domain = $_POST['domain']; 
$userName = $userName.$domain; 
//判断用户名是否占用 
$userNameSQL = "select * from users where userName='$userName'"; 
getConnection(); 
$resultSet = mysql_query($userNameSQL); 
if(mysql_num_rows($resultSet)>0){ 
     closeConnection(); 
     exit("用户名已经被占用,请更换其他用户名!"); 
} 
//收集用户其他信息 
$sex = $_POST['sex']; 
if(empty($_POST['interests'])){ 
     $interests = ""; 
}else{ 
     $interests = implode(";",$_POST['interests']); 
} 
$remark = $_POST['remark']; 
$myPictureName = $_FILES['myPicture']['name']; 
//只有“文件上传成功”或“没有上传附件”时,才进行注册 
$registerSQL = "insert into users values(null,'$userName','$password','$sex', '$interests','$myPictureName','$remark')"; 
$message = upload($_FILES['myPicture'],"uploads"); 
if($message=="文件上传成功!"||$message=="没有选择上传附件!"){ 
     mysql_query($registerSQL); 
     $userID = mysql_insert_id(); 
     echo "用户信息成功注册!<br/><br/><br/>"; 
}else{ 
     exit($message); 
} 
//从数据库中提取用户注册信息 
$userSQL = "select * from users where user_id=$userID"; 
$userResult = mysql_query($userSQL); 
if($user = mysql_fetch_array($userResult)){ 
     echo "您注册的用户名为:".$user["userName"]."<br/><br/>"; 
     echo "您填写的登录密码为:".$user["password"]."<br/><br/>";
     echo "性别:".$user["sex"]."<br/><br/>";
     echo "爱好:".$user["interests"]."<br/><br/>";
     $pictureAdrees="uploads/".$myPictureName;
     echo "上传的照片:";
     echo '<img src="'.$pictureAdrees.'"  width="200px">';
     echo "<br/><br/>";
     echo "备注信息:".$user['remark'];
}else{ 
     exit("用户信息注册失败!"); 
} 
closeConnection(); 
?> 


fileSystem.php:

<?php
function upload($file,$filePath){
	$error = $file['error'];
	switch ($error){
		case 0:
			$fileName = $file['name'];
			$fileTemp = $file['tmp_name'];
			$destination = $filePath."/".$fileName;
			move_uploaded_file($fileTemp,$destination);
			return "文件上传成功!";
		case 1:
			return "上传附件超过了php.ini中upload_max_filesize选项限制的值!";
		case 2:
			return "上传附件的大小超过了form表单MAX_FILE_SIZE选项指定的值!";
		case 3:
			return "附件只有部分被上传!";
		case 4:
			return "没有选择上传附件!";
	}
}
?>


database.php:

<?php  
$databaseConnection = null; 
function getConnection(){ 
     $hostname = "localhost"; 			//数据库服务器主机名,可以用IP代替 
     $database = "register"; 				//数据库名 
     $userName = "root"; 				//数据库服务器用户名 
     $password = ""; 					//数据库服务器密码 
     global $databaseConnection; 
     $databaseConnection = @mysql_connect($hostname, $userName, $password) or die (mysql_error()); 							//连接数据库服务器 
     mysql_query("set names 'gbk'");	//设置字符集 
     @mysql_select_db($database, $databaseConnection) or die(mysql_error()); 
} 
function closeConnection(){ 
     global $databaseConnection; 
     if($databaseConnection){ 
     		mysql_close($databaseConnection) or die(mysql_error()); 
     } 
} 
?> 


(3)登录界面:

login.html:

<h2>登录界面</h2>
<hr><br/><br/>
<form action="login_process.php" method="post"> 
用 户 名: 
<input type="text" name="userName" size="20" maxlength="15" value="请填写用户名及域名" /> 
<br/> <br/>
登录密码: 
<input type="password" name="password" size="20" maxlength="15" /> 
<br/><br/> 
<input type="submit" value="登录" /> 
<input type="reset" value="重填" /> 
</form> 

登录操作程序:

login.php:

<?php 
include_once("functions/database.php"); 
//收集表单提交数据 
$userName = addslashes($_POST['userName']); 
$password = addslashes($_POST['password']); 
//连接数据库服务器 
getConnection(); 
//判断用户名和密码是否输入正确 
$sql = "select * from users where userName='$userName' and password='$password'"; 
$resultSet = mysql_query($sql); 
if(mysql_num_rows($resultSet)>0){ 
     echo "用户名和密码输入正确!登录成功!"; 
}else{ 
     echo "用户名和密码输入错误!登录失败!"; 
} 
closeConnection(); 
?> 
 
 

猜你喜欢

转载自blog.csdn.net/qq_35661627/article/details/78564319