网络安全练气篇——PHP编程语言基础

目录

PHP基础

一、PHP简介与环境搭建

什么是PHP?

PHP环境安装

代码编辑选择

二、基本语法

PHP基本语法操作

PHP变量与输出

啥是常量?

PHP注释

PHP单引号双引号声明

三、PHP表单

PHP表单

四、登录界面搭建与讲解

构建登陆页面

登陆页面端

服务器端


PHP基础

一、PHP简介与环境搭建

什么是PHP?

(外文名:PHP:Hypertext Preprocessor,中文名:“超文本预处理器”) 是一种通用开源脚本语言。语法吸收了C语言、Java和Perl的特点,利于学习,使用广泛,主要适用于Web开发领域。用PHP做出的动态页面与其他的编程语言相比,PHP是将程序嵌入到HTML(标准通用标记语言下的一个应用) 文档中去执行,执行效率比完全生成HTML标记的CGI要高许多,PHP还可以执行编译后代码,编译可以达到加密和优化代码运行,使代码运行更快。 ​ 目前PHP在全球网页市场、手机网页市场还有为手机提供API程序接口)排名第一。 ​ PHP入门简单,学习入门易入手。

PHP环境安装

集成环境 ·PHPStudy ·小皮面板 ·XAMPP 同时,WINDOWS/LINUX 上同样可直接安装环境//在这里,建议选用PHPstudy 作为环境安装,官网地址为小皮面板(phpstudy) - 让天下没有难配的服务器环境!

代码编辑选择

选择PHP代码的编辑器时,这里给出两点建议。拥有代码高亮功能 ·不会进行自动提示(建议新手使用) 推荐 phpstorm notepad++ vscode

###

二、基本语法

PHP基本语法操作

<!DOCTYPE html>
<html>
//这段代码为一个PHP文件实例,将该实例内容放置服务器端即可实现向浏览器输出"*刘华强*“的操作
<body>
<?php
echo“和我刘华强拼,你有这个实力吗”;?>
</body>
</htmI>

PHP变量与输出

<?php
$iphone13 = 5880; 
//变量首字母不能是数字,同时,变量区分大小写
$iphone12 = 6088; 
// 把变量命名的有意义一点,否则就会给读者挖坑
$shen = $iphone13 + $iphone12echo $shen; 
// echo 是在PHP里面最常用的一个输出、显示功能的命令
?>

$ 叫作美元符

PHP中的变量必须以美元符开始

啥是常量?

顾名思义,就是长久不变的量 在PHP中,用define来定义一个常量如下

<?phpdefine('MY_NAME','我是雪野白香里');
echo MY_NAME;
?>

PHP注释

PHP注释

// 表示单行注释
​
#号也表示单行注释,用的比较少。多行注释 (注释多行)
​
//afdasdfadsf  单行注释
​
/*
​
多行注释 这里是注释区域代码
​
*/

PHP单引号双引号声明

在PHP中,单引号双引号都可适用于字符串 更推荐使用单引号,双引号会解析其中的变量

两者具体的不同之处可以去查阅相关资料了解

<?php
$byball = '兄弟,这瓜多少钱一斤';
$sellball = "两块钱一斤";?>

三、PHP表单

PHP表单

该html文档够建立一个提交界面

我们利用post 提交方式向get_name.php

提交了名字以及性别资料,点击提交按钮进行提交

新建一个名为index.html的文件 放到PHPStudy网站根目录下

<html><head><meta charset="utf-8"><title>问卷调查</title></head><body><form action="whoami.php" method="post">你的名字:<input type="text" name="fname">多大:<input type="text" name="age"><input type="submit" value="提交"></form></body>
</html>

通过网页输入localhost,直接访问到index.html该页面

四、登录界面搭建与讲解

新建一个名为whoami.php的文件放到PHPStudy网站根目录下

<html><body>你叫<?php echo $_post["fname"];?>啊<br><?php echo $_POST["age"];?>有男朋友吗?</body>
</html>

构建登陆页面

利用input 表单就可以构建简单的登陆页面 <fieldset>标签: 框住标签内容

<legend>标签:为fieldset标签添加标题

<label>标签: 点击字体,会自动聚焦后面的控件 <li>标签:列表标签,上方的ul标签代表着下方i标签将内容无序显示,同时,ol标签则代表这有序显示

checkbox: 复选圆框表单元素

登陆页面端

<html><head><meta charset="UTF-8"></head><body><form action="login.php" method="post"><fieldset><legend>用户登录</legend><ul><li><label>用户名:</label><input type="text" name="username"></li><li><label>密码:</label><input type="password" name="userpassword"></li><li><label></label><input type="checkbox" name="remember" value="yes">7天之内自动登录</li><li><label></label><input type="submit" name="login" value="登录"></li></ul></fieldset>
</form></body>
</html>

服务器端

<?php
header('Content-type:text/html;charset=utf-8');   
//开启session
session_start();
//处理用户登录信息
if(isset($_POST['login'])){//接收用户的登录信息$username = trim($_POST['username']);$password = trim($_POST['password']);//判断提交的登录信息if(($username == '')||($password =='')){//若为空,视为未填写,提示错误,并3秒后返回登录界面header('refresh:3; url=login.html');echo "用户名或密码不能为空,系统将在3秒后跳转到登录界面,请重新填写登录信息!";exit;}elseif(($username != 'username') || ($password !='password')){#用户名或密码错误,同空的处理方式header('refresh:3; url=login.html');echo "用户名或密码错误,系统将在3秒后跳转到登录界面,请重新填写登录信息!";exit;}elseif(($username = 'username') && ($password = 'password')){#用户名和密码都正确,将用户信息存到Session中$_SESSION['username'] = $username;$_SESSION['islogin'] = 1;//若勾选7天内自动登录,则将其保存到Cookie并设置保留7天if($_POST['remember']  == "yes"){setcookie('username',$username,time()+7*24*60*60);
setcookie('code',md5($username.md5($password)),time()+7*24*60*60);}else{//没有勾选则删除Cookiesetcookie('username','',time()-999);setcookie('code','',time()-999);}//处理完附加项目后跳转到登录成功的首页header('location:index.php');}
}
?>

接下来

使用MySQL数据库实现交互

<?php
header('Content-type:text/html;charset=utf-8');   
//开启session
session_start();
//处理用户登录信息
if(isset($_POST['login'])){//接收用户的登录信息$username = trim($_POST['username']);$password = trim($_POST['password']);//判断提交的登录信息if(($username == '')||($password =='')){//若为空,视为未填写,提示错误,并3秒后返回登录界面header('refresh:3; url=login.html');echo "用户名或密码不能为空,系统将在3秒后跳转到登录界面,请重新填写登录信息!";exit;}//连接数据库//数据库用户名和密码是你自己的用户名和密码$con = mysqli_connect('localhost','root','123456');//验证数据库链接状态if(mysqli_errno($con)){echo "连接失败了,请重试".mysqli_error($con);exit;}//设置解码方式mysqli_set_charset($con,'utf8');//如果没有相对应的数据库,请记得打开数据库进行创建mysqli_select_db($con,'test');$sql = "select * from login where username = '$username' and password = '$password'";$result = mysqli_query($con,$sql);if(!$num){#用户名或密码错误,同空的处理方式header('refresh:3; url=login.html');echo "用户名或密码错误,系统将在3秒后跳转到登录界面,请重新填写登录信息!";exit;}else{#用户名和密码都正确,将用户信息存到Session中$_SESSION['username'] = $username;$_SESSION['islogin'] = 1;//若勾选7天内自动登录,则将其保存到Cookie并设置保留7天if($_POST['remember']  == "yes"){setcookie('username',$username,time()+7*24*60*60);
setcookie('code',md5($username.md5($password)),time()+7*24*60*60);}else{//没有勾选则删除Cookiesetcookie('username','',time()-999);setcookie('code','',time()-999);}echo("登陆成功");mysqli_close($con); }}
?>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/27435.shtml

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

相关文章

汽车油耗NEDC与WLTP有什么区别?以及MATLAB/Simulink的汽车行驶工况仿真

最近的热点新闻非比亚迪的秦L莫属&#xff0c;其油耗达到2.9L/100km&#xff0c;但其标注为NEDC也引起了讨论&#xff0c; NEDC与WLTP的区别 NEDC的全称为“New European Driving Cycle”&#xff0c;即“新欧洲驾驶循环”。这种油耗测试标准起源于上世纪80年代&#xff0c;主…

计算机类期刊含金量横纵向对比(一)

本文期刊横纵向对比数据均来源于知网、知乎、谷歌学术、博客网、百度百科、发表者论坛所综合提取的数据对比。&#xff08;经验分享&#xff09; 期刊 难度比较 含金量 发表领域&#xff08;侧重点&#xff09; 审稿速度 收录情况 费用 计算机应用 对投稿者学历工作要求…

近期笔记总结

都是最近项目中会用到的一些小方法 写个笔记整理一下 方便之后忘了找不到 1、相同字段的对象 直接赋值 主要是用到编辑的功能里面 拿到的查询字段和需要赋值的字段一模一样时 不用一个一个的去写等于了 assingTab(arrA,arrB){Object.keys(arrA).forEach(key > {arrA[key] a…

液晶拼接屏企业应该采取哪些措施来提升整体竞争力和市场地位呢?

步入智能科技时代以来&#xff0c;商显行业面对着各式各样的挑战&#xff0c;人工智能、AI大模型等整合中&#xff0c;液晶拼接屏企业应该采取哪些措施以提升整体竞争力和市场地位。下面小编个人观点简单说一下&#xff1b;下是一些关键的措施&#xff1a; 首先&#xff0c;加…

Java文件复制方法详解:原理、使用场景、优缺点及代码示例

1. 基本文件流 (FileInputStream 和 FileOutputStream) 原理 基本文件流通过逐字节读取和写入文件来实现文件复制。这种方法简单直接&#xff0c;但效率较低。 使用场景 适用于小文件或对性能要求不高的场景。 优缺点 优点&#xff1a; 实现简单&#xff0c;容易理解。适…

用Vue3和p5.js打造一个交互式数据可视化仪表盘

本文由ScriptEcho平台提供技术支持 项目地址&#xff1a;传送门 基于 Vue.js 集成 p5.js 实现交互式波形图 应用场景介绍 在数据可视化领域&#xff0c;波形图广泛应用于展示动态变化的数据&#xff0c;如声音信号、心跳曲线等。通过动态绘制波形图&#xff0c;用户可以直观…

5.所有权

标题 一、概念二、规则三、示例3.1 变量作用域3.2 所有权的移交&#xff08;深拷贝与浅拷贝&#xff09;3.3 函数与所有权3.4 返回值与作用域3.5 引用的使用 四、切片(&str) 一、概念 所有权是Rust的核心特性。所有程序在运行时都必须管理它们使用计算机内存的方式。Rust的…

InfoComm 2024 直击:千视新品P3和KiloLink技术闪耀亮相

InfoComm 2024 直击&#xff1a;千视新品P3和KiloLink技术闪耀亮相&#xff0c;现场亮点不断 北京时间2024年6月13日&#xff0c;UTC-7时间6月12日&#xff0c;美国视听显示与系统集成展览会InfoComm 2024在美国拉斯维加斯正式开幕。作为全美规模最大、最具影响力的展会&#…

【Test 73 】引用 () 实际的一些用法、常引用问题 详解!

文章目录 1. 常引用的背景2. 字符 a 与 整形 97 是相同的&#xff0c;但是具体是怎么比较的呢 &#xff1f; 1. 常引用的背景 注意&#xff1a; &#x1f427;① 权限可以平移、可以缩小&#xff0c;但是权限 不可以放大。 &#x1f427; 类型转换中间会产生临时变量 2. 字…

[AI资讯·0612] AI测试高考物理题,最高准确率100%,OpenAI与苹果合作,将ChatGPT融入系统中,大模型在物理领域应用潜力显现

AI资讯 国产AI大战高考物理&#xff0c;第1题全对&#xff0c;第2题开始放飞终于放大招了&#xff0c;2024WWDC&#xff0c;苹果开启AI反击战苹果一夜重塑iPhone&#xff01;GPT-4o加持Siri&#xff0c;AI深入所有APPOpenAI确认苹果集成ChatGPT 还任命了两位新高管GPT-4搞不定…

python爬虫入门:批量下载图片

引言: 爬虫也被称为网络蜘蛛(Spider),是一种自动化的软件程序,能够在互联网上漫游,按照一定的规则和算法抓取数据。 爬虫技术广泛应用于搜索引擎、 数据挖掘 、信息提取等领域,是互联网技术的重要组成部分。 摘要: 很多初学者对于一个这样新奇的事务当然愿意去探索,…

【Golang】探索进程资源监控的精妙细节:利用Gopsutil/Process实现高级进程性能和资源信息监控

【Golang】探索进程资源监控的精妙细节&#xff1a;利用Gopsutil/Process实现高级进程性能和资源信息监控 大家好 我是寸铁&#x1f44a; 总结了一篇【Golang】探索进程资源监控的精妙细节&#xff1a;利用Gopsutil/Process实现高级进程性能和资源信息监控的文章✨ 喜欢的小伙伴…

Scrum Day盛大启幕【限时优惠】

关于 Scrum Day 智驭未来&#xff0c;敏捷先行 —— 2024中国Scrum大会启航 在全球数字化转型的浪潮中&#xff0c;敏捷已成为企业脱颖而出的关键。 Scrum中文网携手全球敏捷行业巨擘 —— Scrum.org 联袂呈现年度敏捷盛会 Scrum Day&#xff0c;将于今秋盛大启幕&#xff01…

Ubuntu Linux目录结构

在Linux系统中&#xff0c;最小的数据存储单位为文件。“一切都是文件”是Linux和UNIX一致贯彻的原则。也就是说&#xff0c;在Linux中&#xff0c;所有的数据都是以文件的形式存在的&#xff0c;包括设备。为了便于访问文件&#xff0c;Linux按照一定的层次结构来组织文件系统…

使用宝塔面板 将vue+node+mysql部署至云服务器

数据库部署 1. 导出 数据库 2. 进入宝塔面板 将数据库文件导入至宝塔面板数据库中 验证是否导入成功 点击phpMyAdmin 输入用户名密码 如果没有导入成功&#xff0c;可在此再导入一遍 前端项目部署 1. 将vue项目打包上传至文件 npm run build 打包成dist文件夹 压缩上传 …

解决Apache Doris占用CPU和内存过高

一、导入问题 对于 Doris 来说&#xff0c;一个 INSERT 命令就是一个完整的导入事务。因此不论是导入一条数据&#xff0c;还是多条数据&#xff0c;我们都不建议在生产环境使用这种方式进行数据导入。高频次的 INSERT 操作会导致在存储层产生大量的小文件&#xff0c;会严重影…

音视频开发-- 坑整理

1. 解码时&#xff0c;一定要用avcodec_parameters_to_context()&#xff0c;将流的参数&#xff08;stream->codecpar&#xff09;复制到解码器中&#xff0c;否则某些流可能无法正常解码。 //第七步&#xff0c;给给解码器上下文添加参数, avcodec_parameters_to_context(…

Linux-黑马程序员

目录 一、前言二、初识Linux1、操作系统&#xff08;1&#xff09;硬件和软件&#xff08;2&#xff09;操作系统 2、Linux3、虚拟机4、FinalShell5、WSL6、虚拟机快照 三、Linux基础命令1、Linux的目录结构2、Linux命令入门&#xff08;1&#xff09;Linux命令基础格式&#x…

automa学习:写一个取某东图书数据的片断

周五了&#xff0c;实在没事情了。正好上午有个朋友问automa的事&#xff0c;心想再写一个练习一下&#xff0c;毕竟&#xff0c;熟能生巧。 目标某东图书&#xff1a; 分析及介绍如下。 1.新建标签页 1.悬停元素。要注意 县 停 .cate_menu_item:nth-child(14) > .cate_…

VMware安装ubuntu22.04虚拟机超详细图文教程

一 、下载镜像 下载地址&#xff1a;Index of /ubuntu-releases/22.04.4/ | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror 二、创建虚拟机 打开VMware点击左上角文件&#xff0c;创建新的虚拟机&#xff0c;打开后如下图&#xff1a; 下一步&#xff0c;镜像文件就是…