昨天,八月一号。基本工作:确定了用户界面、实现基本的新用户自动注册登陆、登录验证以及上传头像文件。
在学习登录验证以及上传头像文件过程中,发现了一些问题。虽然赵老师讲的内容能勉强听懂,但是其中的逻辑和组织代码的思想还是很难理解。原因无非是两点:基础知识不熟练,没有自己成型的知识框架;练习不够,动手能力太差。所以接下来一遍要学习不熟悉的知识并慢慢建立我自己的学习php的知识框架,一边要多动手,多去练习一些小程序,并去理解其中的思想。
添加了两个功能:
①登录判断:用户进入系统--->根据其手机IMEI号判断该手机是否注册过用户--->如注册过则直接登录上继续使用--->如未查询到该用户则跳转到注册页面实现注册功能;
session_start(); if ($_SESSION['user_id'] == '') {//如果用户ID为空的话,说明没有登陆 header('Location: login.php'); //跳转注册页面 }
②文件上传:使用表单上传文件--->错误处理--->定义允许上传的文件格式--->判断uploads目录是否存在--->不存在则创建uploads目录--->定义新的文件名--->将临时文件重命名并移动到指定的目录(uploads)下--->完成
1 $fileError = ''; 2 $allowExtArray = array( 3 'jpg', 4 'png', 5 'gif', 6 'bmp', 7 'jpeg', 8 ); 10 if ($_FILES['face'] == '') { 11 echo '没有上传'; 12 } else { 13 if ($_FILES['face']['error'] == 0) { 15 $ext = strtolower(pathinfo($_FILES['face']['name'],PATHINFO_EXTENSION)); 16 print_r($ext); 17 if (!in_array($ext,$allowExtArray)) { 18 $fileError .= '上传格式不被允许'; 20 }else { 21 if (!is_dir('uploads')) { 22 mkdir('uploads'); 23 } 24 $newFileName = date('Y-m-d H:i:s',time()).rand(0,100000); 25 move_uploaded_file($_FILES['face']['tmp_name'],'uploads/'.$newFileName.'.'.$ext); 26 } 27 } else { 28 switch ($_FILES['face']['error']) { 29 case '1': 30 $fileError = '上传文件大小超过服务器允许上传的最大值'; 31 break; 32 case '2': 33 $fileError = '上传文件大小超过HTML表单中隐藏域MAX_FILE_SIZE选项指定的值'; 34 break; 35 } 36 echo '发生错误:'.$fileError; 37 } 38 }
新建了两个文件:
①profile.php:个人中心数据处理脚本。功能有:验证登录、上传头像文件、
②start.inc.php:用于存放数据处理文件统一调用的代码,如:
<?php session_start(); date_default_timezone_set('PRC'); /*把时间调到北京时间,php5默认为格林威治标准时间*/ include 'config.inc.php'; include 'db.inc.php';