1、采用PHP与Mysql数据库,完成用户注册程序,注册表单项可自由指定,尽量包含所有表单类型,注册成功后在新页面显示注册信息,注册中需要上传的照片的操作功能使用自定义函数调用,并在注册成功后显示照片。
2、采用PHP与Mysql数据库,完成用户登录功能。
步骤如下:
(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();
?>