当前位置:   article > 正文

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

网络安全练气篇——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基本语法操作

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

PHP变量与输出

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

$ 叫作美元符

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

啥是常量?

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

  1. <?php
  2. define('MY_NAME','我是雪野白香里');
  3. echo MY_NAME;
  4. ?>

PHP注释

PHP注释

  1. // 表示单行注释
  2. #号也表示单行注释,用的比较少。多行注释 (注释多行)
  3. //afdasdfadsf 单行注释
  4. /*
  5. 多行注释 这里是注释区域代码
  6. */

PHP单引号双引号声明

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

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

  1. <?php
  2. $byball = '兄弟,这瓜多少钱一斤';
  3. $sellball = "两块钱一斤";
  4.    
  5. ?>

三、PHP表单

PHP表单

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

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

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

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

  1. <html>
  2.    <head>
  3.        <meta charset="utf-8">
  4.        <title>问卷调查</title>
  5.    </head>
  6.    <body>
  7.        <form action="whoami.php" method="post">
  8.           你的名字:<input type="text" name="fname">
  9.           多大:<input type="text" name="age">
  10.            <input type="submit" value="提交">
  11.        </form>
  12.    </body>
  13. </html>

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

四、登录界面搭建与讲解

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

  1. <html>
  2.    <body>
  3.       你叫<?php echo $_post["fname"];?>啊<br>
  4.        <?php echo $_POST["age"];?>有男朋友吗?
  5.    </body>
  6. </html>

构建登陆页面

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

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

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

checkbox: 复选圆框表单元素

登陆页面端

  1. <html>
  2.    <head>
  3.        <meta charset="UTF-8">
  4.    </head>
  5.    <body>
  6.        <form action="login.php" method="post">
  7.    <fieldset>
  8.        <legend>用户登录</legend>
  9.        <ul>
  10.         <li>
  11.             <label>用户名:</label>
  12.             <input type="text" name="username">
  13.         </li>
  14.            <li>
  15.            <label>密码:</label>
  16.            <input type="password" name="userpassword">
  17.            </li>
  18.            <li>
  19.            <label></label>
  20.            <input type="checkbox" name="remember" value="yes">7天之内自动登录
  21.            </li>
  22.            <li>
  23.            <label></label>
  24.            <input type="submit" name="login" value="登录">
  25.            </li>
  26.        </ul>
  27.    </fieldset>
  28. </form>
  29.    </body>
  30. </html>

服务器端

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

接下来

使用MySQL数据库实现交互

  1. <?php
  2. header('Content-type:text/html;charset=utf-8');  
  3. //开启session
  4. session_start();
  5. //处理用户登录信息
  6. if(isset($_POST['login'])){
  7.    //接收用户的登录信息
  8.    $username = trim($_POST['username']);
  9.    $password = trim($_POST['password']);
  10.    //判断提交的登录信息
  11.    if(($username == '')||($password =='')){
  12.        //若为空,视为未填写,提示错误,并3秒后返回登录界面
  13.        header('refresh:3; url=login.html');
  14.        echo "用户名或密码不能为空,系统将在3秒后跳转到登录界面,请重新填写登录信息!";
  15.        exit;
  16.   }
  17.    //连接数据库
  18.    //数据库用户名和密码是你自己的用户名和密码
  19.    $con = mysqli_connect('localhost','root','123456');
  20.    //验证数据库链接状态
  21.    if(mysqli_errno($con)){
  22.        echo "连接失败了,请重试".mysqli_error($con);
  23.        exit;
  24.   }
  25.    //设置解码方式
  26.    mysqli_set_charset($con,'utf8');
  27.    //如果没有相对应的数据库,请记得打开数据库进行创建
  28.    mysqli_select_db($con,'test');
  29.    $sql = "select * from login where username = '$username' and password = '$password'";
  30.    $result = mysqli_query($con,$sql);
  31.    if(!$num){
  32.         #用户名或密码错误,同空的处理方式
  33.        header('refresh:3; url=login.html');
  34.        echo "用户名或密码错误,系统将在3秒后跳转到登录界面,请重新填写登录信息!";
  35.        exit;
  36.   }
  37.    else{
  38.        #用户名和密码都正确,将用户信息存到Session中
  39.        $_SESSION['username'] = $username;
  40.        $_SESSION['islogin'] = 1;
  41.        //若勾选7天内自动登录,则将其保存到Cookie并设置保留7天
  42.     if($_POST['remember']  == "yes"){
  43.         setcookie('username',$username,time()+7*24*60*60);
  44. setcookie('code',md5($username.md5($password)),time()+7*24*60*60);
  45.     }else{
  46.         //没有勾选则删除Cookie
  47.         setcookie('username','',time()-999);
  48.         setcookie('code','',time()-999);
  49.     }
  50.        echo("登陆成功");
  51.       mysqli_close($con);
  52.   }
  53.   }
  54. ?>

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/weixin_40725706/article/detail/719380
推荐阅读
相关标签
  

闽ICP备14008679号