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.mzph.cn/news/596219.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

docker容器的常见命令

docker 及docker-compose network概念及操作详解 ## network相关的操作# 列出所有当前主机上或Swarm集群上的网络docker network ls#查看网络详情docker network inspect network名称# 清除未使用的docker网络docker network prune -f# 创建网络ocker network create -d brid…

蓝牙简学(二)

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 一、服务和特性二、数据收发三、UUID 一、服务和特性 service、characteristic 下面的图是蓝牙协议的整体架构&#xff0c; 1.物理层&#xff1a;负责无线电波的收…

x-cmd pkg | procs - ps 命令的现代化替代品

目录 简介首次用户功能特点类似工具进一步阅读 简介 procs 是用 Rust 编写的 ps 替代品&#xff0c;用于显示有关任务进程的信息 首次用户 使用 x procs 即可自动下载并使用 在终端运行 eval "$(curl https://get.x-cmd.com)" 即可完成 x 命令安装, 详情参考 x-cmd…

python学完之后可以做什么,python学完可以做什么

大家好&#xff0c;小编来为大家解答以下问题&#xff0c;python学完可以做哪些工作&#xff0c;python学完之后可以做什么&#xff0c;今天让我们一起来看看吧&#xff01; Python是一种全栈的开发语言&#xff0c;你如果能学好Python&#xff0c;前端&#xff0c;后端&#x…

Spring实现IoC:依赖注入/构造注入

● 控制反转&#xff0c;反转的是什么&#xff1f; ○ 将对象的创建权利交出去&#xff0c;交给第三方容器负责。 ○ 将对象和对象之间关系的维护权交出去&#xff0c;交给第三方容器负责。 ● 控制反转这种思想如何实现呢&#xff1f; ○ DI&#xff08;Dependency Injection&…

Linux telnet命令

Linux telnet命令用于远端登入。 执行telnet指令开启终端机阶段作业&#xff0c;并登入远端主机。 语法 telnet [-8acdEfFKLrx][-b<主机别名>][-e<脱离字符>][-k<域名>][-l<用户名称>][-n<记录文件>][-S<服务类型>][-X<认证形态>…

Eureka工作原理

Eureka的工作原理 Eureka是Netflix开发的一个服务发现框架&#xff0c;它主要用于AWS云环境中&#xff0c;用于构建可伸缩的微服务架构。Eureka主要由两个组件构成&#xff1a;Eureka Server和Eureka Client。下面详细介绍它们的工作原理。 Eureka Server Eureka Server提供服…

【开题报告】基于SpringBoot的校园投诉系统的设计与实现

1.选题背景 校园管理是学校日常运行的重要组成部分&#xff0c;随着社会的发展和学生数量的增加&#xff0c;校园内的问题和纠纷也逐渐增多。例如&#xff0c;学生可能遇到与教师或其他学生之间的矛盾、设施维护问题、课程安排冲突等。这些问题如果得不到及时解决&#xff0c;…

【损失函数】Cross Entropy Loss 交叉熵损失

1、介绍 主页介绍的几种损失函数都是适用于回归问题损失函数&#xff0c;对于分类问题&#xff0c;最常用的损失函数是交叉熵损失函数 Cross Entropy Loss。它用于测量两个概率分布之间的差异&#xff0c;通常用于评估分类模型的性能。 2、公式 对于二分类问题&#xff0c;交…

服务器日常怎么维护 有哪些

服务器日常维护主要包含两位部分&#xff1a;硬件维护和软件维护。硬件维护 硬件维护就是指对服务器的硬件进行检测&#xff0c;更换&#xff0c;升级&#xff0c;最常见的是防火墙更新&#xff0c;时刻能够应对市场上的变化。 也包含服务器环境的一些维护&#xff0c;定期检查…

SV-7042VP 15W sip网络有源音箱,可外接15W无源副音箱

SV-7042VP 15W sip网络有源音箱,可外接15W无源副音箱 一、描述 SV-7042VP是深圳锐科达电子有限公司的一款壁挂式SIP网络有源音箱&#xff0c;具有10/100M以太网接口&#xff0c;可将网络音源通过自带的功放和喇叭输出播放&#xff0c;可达到功率15W。同时它可以外接一个15W的…

【GO语言卵细胞级别教程】01.GO基础知识

01.GO基础知识 目录 01.GO基础知识1.GO语言的发展历程2.发展历程3.Windowns安装4.VSCode配置5.基础语法5.1 第一段代码5.2 GO执行的流程5.3 语法规则5.4 代码风格5.5 学习网址 1.GO语言的发展历程 Go语言是谷歌公司于2007年开始开发的一种编程语言&#xff0c;由Robert Griese…

Java版直播商城免 费 搭 建:平台规划与常见营销模式,电商源码、小程序、三级分销及详解

【saas云平台】打造全行业全渠道全场景的saas产品&#xff0c;为经营场景提供一体化解决方案&#xff1b;门店经营区域化、网店经营一体化&#xff0c;本地化、全方位、一站式服务&#xff0c;为多门店提供统一运营解决方案&#xff1b;提供丰富多样的营销玩法覆盖所有经营场景…

游戏引擎?

游戏引擎是指一些已编写好的可编辑电脑游戏系统或者一些交互式实时图像应用程序的核心组件。这些系统为游戏设计者提供各种编写游戏所需的各种工具&#xff0c;其目的在于让游戏设计者能容易和快速地做出游戏程式而不用由零开始。大部分都支持多种操作平台&#xff0c;如Linux、…

使用AOP实现自定义日志

在实现自定义日志之前&#xff0c;我们需要了解AOP。 1.AOP AOP&#xff08;Aspect-Oriented Programming&#xff0c;面向切面编程&#xff09;是一种编程范式&#xff0c;旨在通过将横切关注点&#xff08;cross-cutting concerns&#xff09;从主要业务逻辑中分离出来&…

macOS跨进程通信: XPC 创建实例

一&#xff1a;简介 XPC 是 macOS 里苹果官方比较推荐和安全的的进程间通信机制。 集成流程简单&#xff0c;但是比较绕。 主要需要集成 XPC Server 这个模块&#xff0c;这个模块最终会被 apple 的根进程 launchd 管理和以独立进程的方法唤起和关闭&#xff0c; 我们主app 进…

【运维】界面操作与直接操作

对于一个大型的复杂的系统&#xff0c;各个模块之间紧密关联&#xff0c;界面上的一个操作&#xff0c;可能涉及到很多底层逻辑的连携反应。 在一个共享文件系统中&#xff0c;一个简单的小操作&#xff0c;可能就涉及到数据库多张表的改动&#xff0c;而且往往改动的表并不是…

Flume基础知识(四):Flume实战之实时监控单个追加文件

1&#xff09;案例需求&#xff1a; 实时监控 Hive 日志&#xff0c;并上传到 HDFS 中 2&#xff09;需求分析&#xff1a; 3&#xff09;实现步骤&#xff1a; &#xff08;1&#xff09;Flume 要想将数据输出到 HDFS&#xff0c;依赖 Hadoop 相关 jar 包 检查/etc/profile.d…

【MySQL】MySQL运维SQL(持续更新。。。)

MySQL运维SQL 信息统计 查询数据库有多少张表 SELECT COUNT(*) AS table_count FROM information_schema.TABLES WHERE table_schema 数据库名;查询表中有多少个字段 SELECTCOUNT(*) AS field_count FROMinformation_schema.COLUMNS WHEREtable_schema 数据库名 AND tab…

Spark内核解析-Spark shuffle6(六)

1、Spark Shuffle过程 1.1MapReduce的Shuffle过程介绍 Shuffle的本义是洗牌、混洗&#xff0c;把一组有一定规则的数据尽量转换成一组无规则的数据&#xff0c;越随机越好。MapReduce中的Shuffle更像是洗牌的逆过程&#xff0c;把一组无规则的数据尽量转换成一组具有一定规则…