软件工程项目

临近期末,终于把项目做好了

项目目标

  • 本项目为校园二手商品交易市场,目标是搭建一个方便学生进行二手物品交易的平台。

关于项目使用的UML模型

用例图

在这里插入图片描述

对象模型

在这里插入图片描述

顺序图

在这里插入图片描述
项目前端使用了weui框架,后端逻辑则是自己构建

部分代码展示

登录模块
<?php
header("Content-Type: text/html;charset=utf-8");
session_start();

$type=check_safe($_POST['type']);
$mm=check_safe($_POST['mm']);

$type=empty($type)?print_error(98,"no zh"):$type;
$mm=empty($mm)?print_error(98,"no mm"):$mm;

// $type=addslashes($type);
// $mm=addslashes($mm);
// var_dump($zh);

$con = new mysqli('localhost', '你的账号', '你的密码', 'secondhand_market');
switch ($type) {
	case '1'://登入
		$num=check_safe($_POST['check_num']);
		// var_dump($num);die;
		$num=empty($num)?print_error(98,"没有验证码"):$num;//
		// $num=addslashes($num);
		$verify_num=$_SESSION["verify_code"];
		// var_dump($num,$verify_num);die;
		if($num!=$verify_num)print_error(98,"验证码错误");

		$zh=check_safe($_POST['zh']);
		$zh=empty($zh)?print_error(98,"no zh"):$zh;
		// $zh=addslashes($zh);

		$result=$con->query("SELECT * FROM `user_info` WHERE `zh`='".$zh."' AND `mm`='".$mm."'");
		$resd=$result->fetch_array();
		// var_dump($resd);
		if(!$resd){
			print_error(97,"没有该账号");
		}
		// var_dump($resd);
		// var_dump($resd["zh"]);
		if($resd['zh']==$zh&&$resd['mm']==$mm){
			// var_dump($resd["key_user"]);die;
			print_ok(100,"登入成功",array("name"=>$resd["user_name"],"id"=>$resd["user_id"],"img"=>$resd["head_img"],"key"=>$resd["key_user"]));
		}else{
			print_error(98,"账号密码出错了");
			// print_ok(100,"登入成功",array("name"=>$resd["user_name"],"id"=>$resd["user_id"],"img"=>$resd["head_img"],"data"=>array("zh"=>$zh,"mm"=>$mm)));
		}
		break;
	
	case '2'://注册
		// if(!is_numeric($zh))print_error(98,"账号必须是纯数字");
		// if(strlen($zh)<8)print_error(98,"账号位数必须大于8位");
		$num=check_safe($_POST['check_num']);
		$num=empty($num)?print_error(98,"没有验证码"):$num;//
		// $num=addslashes($num);
		$verify_num=$_SESSION["verify_code"];
		// var_dump($num,$verify_num);die;
		if($num!=$verify_num)print_error(98,"验证码错误");

		$user_name=check_safe($_POST['name']);
		$user_name=empty($user_name)?print_error(98,"no name"):$user_name;//用户名
		// $user_name=addslashes($user_name);

		$zh=0;
		while (1) {
			$zh=rand(100000000,999999999);
			$zh=addslashes($zh);
			$result=$con->query("SELECT * FROM `user_info` WHERE `zh`='".$zh."'");
			if($result->num_rows==0)break;
		}
		// var_dump($zh);die;

		// var_dump($resd);
		if(!$result->num_rows){//如果没有该账号,可以进行注册
			$num=0;
			while(1){
				$user_id=rand(10000000,99999999);
				$user_id=addslashes($user_id);
				$row=$con->query("SELECT * FROM `user_info` WHERE `user_id`='".$user_id."'")->num_rows;
				if($row==0){//没有这个id才可以存
					$str=$user_id."hzm".time();
					$key=sha1($str);//生成唯一的身份认证key

					// $str2="h".$mm."zm666";//密码加密

					$rowed=$con->query("INSERT INTO `user_info`(`zh`, `mm`, `user_name`, `user_id`, `head_img`,`key_user`) VALUES ('".$zh."','".$mm."','".$user_name."','".$user_id."','qipao.png','".$key."')");
					if($rowed){
						print_ok(100,"注册成功",array("account"=>$zh,"id"=>$user_id,"key"=>$key));
					}
					$num++;
					if($num>40)print_error(98,"注册失败");
				}
			}
		}else{
			print_error(98,"该账号已经被注册");
		}
		// var_dump($resd);
		// var_dump($resd["zh"]);
	break;
}

function print_error($res=null,$text=null){
	die(json_encode(array("res"=>$res,"text"=>$text),JSON_UNESCAPED_UNICODE));
}
function print_ok($res=null,$text=null,$data=null){
	if(!$data)die(json_encode(array("res"=>$res,"text"=>$text),JSON_UNESCAPED_UNICODE));
	else die(json_encode(array("res"=>$res,"text"=>$text,"data"=>$data),JSON_UNESCAPED_UNICODE));
}
function check_safe($str){
	// var_dump($str);
	$str=htmlspecialchars($str);
	// var_dump($str);
	$str=trim($str);
	// var_dump($str);
	$str=addslashes($str);
	// var_dump($str);
	return $str;
}
?>
图片上传模块
<?php
header("Content-Type: text/html;charset=utf-8");
function get_hash(){//得到hashe值
	$chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789!@#$%^&*()+-';
	$random = $chars[mt_rand(0,73)].$chars[mt_rand(0,73)].$chars[mt_rand(0,73)].$chars[mt_rand(0,73)].$chars[mt_rand(0,73)];//Random 5 times
	$content = uniqid().$random.time();  // 类似 5443e09c27bf4aB4uT
	return sha1($content);
}
$con = new mysqli('localhost', '你的账号', '你的密码', 'secondhand_market');
if (!$con) {
    die("conection failed: " . mysqli_connect_error());
}

//$_FILES['file']的file 和前端的input的name一致
$str = $_FILES['file']['name'];
// var_dump($imgname);die;
$str=explode('&',$str);
$img_type=explode('.', $str[0]);
// var_dump($img_type);die;
$imgname=get_hash().'.'.$img_type[1];
$tmp = $_FILES['file']['tmp_name'];
// var_dump($_FILES['file']['typed']);die;
$filepath;
switch(explode('=',$str[1])[1]){
	case '1':
		$filepath = '目录1';//使用绝对路径
	break;
	case '2':
		$filepath = '目录2';//使用绝对路径
	break;
	default:
		var_dump("出错了");die;
	break;
}
if(move_uploaded_file($tmp,$filepath.$imgname)){
	$result=$con->query("INSERT INTO `upload`(`path`) VALUES ('".$imgname."')");
	if($result){
		die(json_encode(array(
			"res"=>100,
			"data"=>array(
				"url"=>$imgname
				// "destination"=>$filepath.$imgname,
				// "filename"=>$imgname,
				// "file_info"=>$_FILES,//上传的图片的详细信息
			)
		)));
	}else{
		die(json_encode(array("res"=>99,"data"=>"上传失败2")));
	}
	
}else{
	die(json_encode(array("res"=>99,"data"=>"上传失败1")));
}

?>

项目结果部分展示

在这里插入图片描述

  • 5
    点赞
  • 42
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值