采用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:
<?phpfunction 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();
?>