您的位置:首页 > 编程语言 > PHP开发

Php连接mysql实现注册信息和文件上传

2016-04-24 11:25 706 查看
Php连接mysql实现注册信息和文件上传

首先在/register下建一个存图片的文件夹  uploads

(/register/uploads)

/*****************************************************

*******************/
目录/register/functions/database.php
<?
$databaseConnection=null;
function getConnection(){
$hostname="localhost";
$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());
}
}
?>

/*****************************************************

*******************/

/*****************************************************

*******************/
目录/register/functions/fileSystem.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 "没有选择上传附件!";
}

}
?>

/*****************************************************

*******************/

/*****************************************************

*******************/
目录 /register/index.html
重点   (上传文件表单必须设置  enctype="multipart/form-

data")

<html>
<meta charset="utf-8">
<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/>
登陆密码:
<input type="password" name="password" size="20"

maxlength="15"/>
<br/>
确认密码:
<input type="password" name="confirmPassword"

size="20" maxlength="15"/>
<br/>
选择性别:
<input name="sex" type="radio" value="male" checked />

男
<input name="sex" type="radio" value="female" />女
<br/>
个人爱好:
<input name="interests[]" type="checkbox"

value="music" checked />音乐
<input name="interests[]" type="checkbox" value="game"

/>游戏
<input name="interests[]" type="checkbox" value="film"

/>电影
<br/>
个人相片:
<input type="hidden" name="MAX_FILE_SIZE"

value="20001024" />
<input type="file" name="myPicture" size="25"

maxlength="100"/>
<br/>
备注信息:
<textarea name="remark" cols="30" rows="4">请填写备注

信息</textarea>
<br/>
<input type="submit" name="submit" value="注册按钮" />
<input type="reset" name="cancel" value="重新填写"/>
</form>
</html>

/*****************************************************

*******************/

/*****************************************************

*******************/
目录  /register/register.php

<html>
<meta charset="utf-8">
<?
//$_FILES['myFile']['name'] 客户端文件的原名称
/*$_FILES['myFile']['tmp_name'] 文件被上传后在服务

端储存的临时文件名,一般
是系统默认,可以在php.ini的upload_tmp_dir指定,但用

putenv() 函数设置是不起作用
的*/
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')";
echo $registerSQL."<br/>";
$message =upload($_FILES['myPicture'],"uploads");
if($message=="文件上传成功!"||$message=="没有选择上传附

件!"){
mysql_query($registerSQL);
$userID=mysql_insert_id();
echo "用户信息成功哦给你注册!<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"];
}else{
echo "用户信息注册失败";
}
closeConnection();
?>
</html>

/*****************************************************

*******************/
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: