PHP编程规范

如果不用命名空间,用此规范,用到命名空间的话,另说。

Θ 类文件都以.class.php为后缀,使用驼峰法命名,并且首字母大写,例如 Pay.class.php;

Θ 类名和目录_文件名一致。例如:类名Zend_Autoloader的目录是Zend/Autoloader.class.php;
Θ 函数的命名使用小写字母和下划线的方式。例如:get_client_ip;
Θ 方法的命名使用驼峰法,首字母小写或者使用下划线”_”,例如listComment(),_getResource(),通常下划线开头的方法属于私有方法;
Θ 属性的命名使用驼峰法,首字母小写或者使用下划线”_”,如$username,$_instance,通常下划线开头的属性属于私有属性;
Θ 常量以大写字母和下划线”_”命名,如”HOME_URL”;
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
题目:用户注册和登录系统 任务描述: 1.设计一个简单的注册和登录系统,包含以下功能: - 用户注册功能:用户可以输入用户名和密码进行注册。 - 用户登录功能:用户可以使用注册时设置的用户名和密码进行登录。 - 用户退出功能:用户可以在任何页面上退出登录。如果用户退出登录,所有的用户信息将被清除,用户需要重新登录才能访问其他页面。 2.要求 - 注册成功后,需要将用户信息保存到一个文件中(例如,user.txt)。 - 用户登录时,需要从文件中读取用户信息进行验证。 - 用户退出登录时,需要销毁所有的用户信息,并返回到登录页面。 3.提示 - 可以利用 PHP 自带的函数实现文件读写和加密解密等操作。 - 需要使用会话(session)来跟踪用户信息,以便在不同页面之间共享用户信息。 实验要求: 1.程序需要运行在 Apache + PHP 环境中。 2.程序需要根据设计要求完成注册和登录功能,并且可以记录用户信息。 3.需要使用会话实现用户登录状态跟踪。 评分标准: 1.功能实现:程序是否能够满足所设计的注册、登录、退出功能。 2.程序架构:程序的代码结构是否合理,是否易于阅读和维护。 3.代码质量:程序的代码是否规范,是否有注释,是否易于理解。 4.错误处理:程序是否能够处理异常情况,是否有错误信息输出。 5.用户体验:程序是否能够给用户良好的使用体验,如页面布局、交互按钮的设置等。 6.额外要求:可自行加分项。 参考代码: <?php //启用会话 session_start(); //判断用户是否已经登录 if(isset($_SESSION['username'])) { //已登录,显示欢迎语句和退出登录按钮 echo '欢迎你,' . $_SESSION['username'] . '!'; echo '<br><a href="logout.php">退出登录</a>'; } else { //未登录,显示登录页面和注册按钮 echo '你还未登录,请<a href="login.php">登录</a>或<a href="register.php">注册</a>。'; } ?> <!-- 登录页面 login.php --> <!DOCTYPE html> <html> <head> <title>登录</title> </head> <body> <h2>登录</h2> <?php //判断是否有错误信息需要显示 if(isset($_SESSION['error'])) { echo '<h3 style="color: red;">' . $_SESSION['error'] . '</h3>'; unset($_SESSION['error']); } ?> <form method="post" action="do_login.php"> <label>用户名:<input type="text" name="username"></label><br> <label>密码:<input type="password" name="password"></label><br> <input type="submit" value="登录"> </form> </body> </html> <!-- 注册页面 register.php --> <!DOCTYPE html> <html> <head> <title>注册</title> </head> <body> <h2>注册</h2> <?php //判断是否有错误信息需要显示 if(isset($_SESSION['error'])) { echo '<h3 style="color: red;">' . $_SESSION['error'] . '</h3>'; unset($_SESSION['error']); } ?> <form method="post" action="do_register.php"> <label>用户名:<input type="text" name="username"></label><br> <label>密码:<input type="password" name="password"></label><br> <input type="submit" value="注册"> </form> </body> </html> <!-- 注销页面 logout.php --> <?php session_start(); //销毁会话 session_destroy(); //跳转到登录页面 header('Location: login.php'); ?> <!-- 处理登录请求 do_login.php --> <?php session_start(); //获取表单提交的数据 $username = $_POST['username']; $password = $_POST['password']; //从文件中读取用户信息 $info = file_get_contents('user.txt'); //将用户信息解密和反序列化 $info = unserialize(decrypt($info)); //判断用户名和密码是否正确 if(isset($info[$username]) && $info[$username] == $password) { //登录成功,将用户名保存到会话中 $_SESSION['username'] = $username; //跳转到首页 header('Location: index.php'); } else { //登录失败,返回登录页面并给出错误提示 $_SESSION['error'] = '用户名或密码错误,请重新登录。'; header('Location: login.php'); } //AES 加密和解密函数 function encrypt($data) { $key = md5('php'); $cipher = 'AES-128-ECB'; $options = OPENSSL_RAW_DATA; $ivlen = openssl_cipher_iv_length($cipher); $iv = openssl_random_pseudo_bytes($ivlen); $encrypted_data = openssl_encrypt($data, $cipher, $key, $options); return base64_encode($encrypted_data . '::' . $iv); } function decrypt($data) { $key = md5('php'); $cipher = 'AES-128-ECB'; $options = OPENSSL_RAW_DATA; list($encrypted_data, $iv) = explode('::', base64_decode($data), 2); return openssl_decrypt($encrypted_data, $cipher, $key, $options, $iv); } ?> <!-- 处理注册请求 do_register.php --> <?php session_start(); //获取表单提交的数据 $username = $_POST['username']; $password = $_POST['password']; //从文件中读取用户信息 $info = file_get_contents('user.txt'); //如果文件中没有用户信息,则初始化一个空数组 if(empty($info)) { $info = array(); } else { //将用户信息解密和反序列化 $info = unserialize(decrypt($info)); } //判断用户名是否已经存在 if(isset($info[$username])) { //用户名已经存在,返回注册页面并给出错误提示 $_SESSION['error'] = '用户名已经存在,请更换。'; header('Location: register.php'); exit; } else { //用户名不存在,将用户信息保存到数组中 $info[$username] = $password; //将用户信息序列化和加密后保存到文件中 file_put_contents('user.txt', encrypt(serialize($info))); //注册成功,跳转到登录页面 header('Location: login.php'); } ?> 参考文献: 1. PHP 官方文档 https://www.php.net/docs.php 2. PHP 核心编程 https://book.douban.com/subject/2351810/

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值