当前位置: 首页 > news >正文

PHP 基础编程 2

文章目录

  • 时间函数
    • date
    • getdate
    • time
  • 使用数组实现登录注册和修改密码
    • 简单数组
      • 增加元素方法
      • 修改元素方法
      • 删除元素方法
    • 具体实现方法
      • 数组序列化
      • 数组写入文件
      • 判断元素是否在关联数组中(登录功能实现)
      • 实现注册功能
      • 实现修改admin用户密码功能

时间函数

时区:中国 东8区
php.ini 时区设置为:date.timezone = Asia/Shanghai
分号为注释
H = 小时 i = 分钟 s = 秒钟
Ymd = 年月日

date

<?php//date  格式化一个本地时间/日期//getdate getdate 是一个数组,取数组中的值//time  返回当前的unix时间戳header("Content-Type: text/html; charset=utf-8");$a = date ("H:i:s");$b = date ("Ymd");echo $b;echo "<br>";echo $a;

getdate

getdate 是一个数组

header("Content-Type: text/html; charset=utf-8");$a = date ("H:i:s");$b = date ("Ymd");$c = getdate ();echo $b;echo "<br>";echo $a;echo "<br>";var_dump($c);
array(11) { ["seconds"]=> int(17) ["minutes"]=> int(37) ["hours"]=> int(11) ["mday"]=> int(4) ["wday"]=> int(4) ["mon"]=> int(1) ["year"]=> int(2024) ["yday"]=> int(3) ["weekday"]=> string(8) "Thursday" ["month"]=> string(7) "January" [0]=> int(1704339437) }

取数组的时间戳 [0]=> int(1704339437) ,有了时间戳就可以将时间数组读取出来

header("Content-Type: text/html; charset=utf-8");$a = date ("H:i:s");$b = date ("Ymd");$c = getdate ();echo $b;echo "<br>";echo $a;echo "<br>";var_dump($c);echo $c['0'];

有了时间戳就可以随意输出你想要的时间,具体代码如下

header("Content-Type: text/html; charset=utf-8");$a = date ("Ymd H:i:s",1704349737);//$b = date ("Ymd",1704349737);$c = getdate (1704349737);echo $a;echo "<br>";echo $a;echo "<br>";var_dump($c);echo "<br>";echo $c['0'];echo '<br>';echo $c["year"].$c["mon"].$c["mday"]." ".$c["hours"].":".$c["minutes"].":".$c["seconds"];

time

time()函数返回当前的uinx时间戳

header("Content-Type: text/html; charset=utf-8");$a = date ("Ymd H:i:s",1704349737);//$b = date ("Ymd",1704349737);$c = getdate (1704349737);echo $a;echo "<br>";echo $a;echo "<br>";var_dump($c);echo "<br>";echo $c['0'];echo '<br>';echo $c["year"].$c["mon"].$c["mday"]." ".$c["hours"].":".$c["minutes"].":".$c["seconds"];echo '<br>';echo time();

使用数组实现登录注册和修改密码

数组函数的用途:1、增加一个元素 2、修改元素 3、删除元素

简单数组

<?phpheader("Content-Type: text/html; charset=utf-8");$a = array('鼠','牛','虎','龙','蛇');  var_dump($a);?>

增加元素方法

<?phpheader("Content-Type: text/html; charset=utf-8");$user=array('admin'=>'123456','test'=>'123','root'=>'789456');//关联数组var_dump( $user );$user['administrator'] = 'admin';//往数组里增加一个元素echo "<br>";var_dump( $user );?>

修改元素方法

<?phpheader("Content-Type: text/html; charset=utf-8");$user=array('admin'=>'123456','test'=>'123','root'=>'789456');var_dump( $user );$user['administrator'] = 'admin';//往数组里增加一个元素echo "<br>";var_dump( $user );$user['administrator'] = 'admin123456';//修改元素echo "<br>";var_dump( $user );
?>

删除元素方法

header("Content-Type: text/html; charset=utf-8");//$a = array('鼠','牛','虎','龙','蛇');  //var_dump($a);$user=array('admin'=>'123456','test'=>'123','root'=>'789456');var_dump( $user );$user['administrator'] = 'admin';//往数组里增加一个元素echo "<br>";var_dump( $user );$user['administrator'] = 'admin123456';//修改administrator 元素echo "<br>";var_dump( $user );unset($user["administrator"]);//删除administrator 元素echo "<br>";var_dump( $user );

具体实现方法

数组序列化

数组不是字符串想写到文件里面需要序列化
序列化之后会返回一个字符串

serialize() //序列化函数
header("Content-Type: text/html; charset=utf-8");$user=array('admin'=>'123456','test'=>'123','root'=>'789456');//数组$a=serialize($user);//序列化数组$userfile_put_contents('userpassword.txt',$a);//将$a的数据写到userpassword.txt

数组写入文件

$a=file_get_contents("userpassword.txt");//读序列化后的文件,内容为字符串$b=unserialize($a);//反序列化,将字符串转为数组的过程var_dump($b);

判断元素是否在关联数组中(登录功能实现)

前端代码

<!DOCTYPE html><html lang="zh-CN"><head><meta charset="UTF-8"><title>登录页面</title></head><body><form action="shuzu.php" method="get">用户名:<input  type="text" name="username">密码:<input   type="text" name="password"><input  type="submit"></form></body></html>

后端代码

//需求 1、登录  2、注册  3、修改密码header("Content-Type: text/html; charset=utf-8");$u = $_GET["username"];$p = $_GET["password"];/*//$a = array('鼠','牛','虎','龙','蛇');  //var_dump($a);$user=array('admin'=>'123456','test'=>'123','root'=>'789456');var_dump( $user );$user['administrator'] = 'admin';//往数组里增加一个元素echo "<br>";var_dump( $user );$user['administrator'] = 'admin123456';//修改administrator 元素echo "<br>";var_dump( $user );unset($user["administrator"]);//删除administrator 元素echo "<br>";var_dump( $user );*//*header("Content-Type: text/html; charset=utf-8");$user=array('admin'=>'123456','test'=>'123','root'=>'789456');//数组$a=serialize($user);//序列化数组$user,将变量转换为字符串file_put_contents('userpassword.txt',$a);//将$a的数据写到userpassword.txt*/$i=1;$a=file_get_contents("userpassword.txt");//读序列化后的文件,内容为字符串$b=unserialize($a);//反序列化,将字符串转为数组的过程//var_dump($b);foreach($b as $key=>$value){    //循坏遍历关联数组$bif($u == $key && $p == $value){   //$u = $key  $p = $value$i=0;   //匹配成功将$i 设置为0 输出 "登录成功"echo "登录成功";break;}}if($i == 1){echo "登录失败";}    //未匹配成功$i=1 输出 登录失败

实现注册功能

前端页面

<!DOCTYPE html><html lang="zh-CN"><head><meta charset="UTF-8"><title>注册</title></head><body><form action="register.php" method="POST">用户名:<input  type="text" name="username">密码: <input   type="text" name="password">确认密码:<input type="text" name="password1"><input  type="submit"></form></body></html>

后端页面

//需求 1、登录  2、注册  3、修改密码header("Content-Type: text/html; charset=utf-8");$u = $_POST["username"];$p = $_POST["password"];$p1 = $_POST ["password1"];if ($p != $p1) {  //如果$p 不等于 $p1 则退出代码执行echo "两次密码不一致";exit;}$a=file_get_contents("userpassword.txt");//读序列化后的文件,内容为字符串$b=unserialize($a);//反序列化,将字符串转为数组的过程//var_dump($b);foreach($b as $key=>$value){    //循坏遍历关联数组$bif($u == $key ){   //$u = $key  echo "用户已存在"; //查找用户是否存在exit; //退出,代码不再执行}} $b[$u]=$p; //添加用户元素$c=serialize($b); //序列化file_put_contents("userpassword.txt",$c);//写入文件echo"注册成功";

实现修改admin用户密码功能

前端代码

<!DOCTYPE html><html lang="zh-CN"><head><meta charset="UTF-8"><title>改密码</title></head><body><h1>admin 修改密码</h1><form action="changepassword.php?username=admin" method="post">旧密码:<input  type="password" name="password">新密码:<input  type="password" name="password1"><input  type="submit"></form></body></html>

后端代码

//需求 1、登录  2、注册  3、修改密码header("Content-Type: text/html; charset=utf-8");$u = $_GET["username"];$p = $_POST["password"];$p1 = $_POST["password1"];if ($p != $p1) {  //如果$p 不等于 $p1 则退出代码执行echo "两次密码不一致";exit;}$i=1;$a = file_get_contents("..\userpassword.txt");$b = unserialize($a);foreach($b as $key=>$value){    //循坏遍历关联数组$bif($u == $key ){   //$u = $key  $b[$u]=$p;$c=serialize($b); //序列化file_put_contents("..\userpassword.txt",$c);//写入文件echo"密码修改成功";break;}else{$i=0;}}if($i=0){echo"用户不存在";}

http://www.lryc.cn/news/275839.html

相关文章:

  • git merge origin master 和 git merge origin/master 的区别
  • 数据挖掘 模糊聚类
  • Vue2和Vue3各自的优缺点以及区别对比
  • 手写一个加盐加密算法(java实现)
  • 基于Springboot的在线考试系统
  • 【React系列】JSX核心语法和原理
  • 【C++初阶(九)】C++模版(初阶)----函数模版与类模版
  • Permission denied
  • 轻松学会电脑如何录制音频
  • react antd,echarts全景视图
  • GD32 支持IAP的bootloader开发,使用串口通过Ymodem协议传输固件(附代码)
  • 【C#】知识点实践序列之UrlEncode在线URL网址编码、解码
  • 泽攸科技完全自主研制的电子束光刻机取得阶段性成果
  • 上篇 | CDP应用篇之兴趣标签的3种破圈玩法
  • 智能的核心依然是哲学的三个基本问题
  • 用python实现提取word中的所有图片
  • CoTracker 环境配置与ORB 特征点提取结合实现视频特征点追踪
  • 10000000000 大瓜背后的真相(附 PDD 算法真题)
  • python爬虫,简单的requests的get请求,百度搜索实例
  • UNION 和 UNION ALL
  • NPS 内网穿透安装
  • 【C++学习笔记】C++多值返回写法
  • 读取带有梯度的张量的具体的值
  • 【分布式微服务专题】SpringSecurity快速入门
  • EasyRecovery2024永久免费版电脑数据恢复软件
  • iphone 苹果 IOS 越狱详细图文保姆级教程非常简单
  • 华为HarmonyOS 创建第一个鸿蒙应用 运行Hello World
  • [C#]Onnxruntime部署Chinese CLIP实现以文搜图以文找图功能
  • openssl ans1定义的实体
  • 【Linux Shell】4. 数组