您现在的位置是:主页 > news > 做吃穿住行网站/必应搜索引擎入口

做吃穿住行网站/必应搜索引擎入口

admin2025/5/1 15:33:05news

简介做吃穿住行网站,必应搜索引擎入口,邯郸哪儿能做网站,网站建设和优化排名文章目录if条件语句switch条件语句while循环语句for循环语句foreach循环语句特殊的控制语句函数PHP函数的应用cookie和session机制cookiesetcookie()函数,返回值为布尔类型简单的登录逻辑的实现:session开启session:session_start()注销sessi…

做吃穿住行网站,必应搜索引擎入口,邯郸哪儿能做网站,网站建设和优化排名文章目录if条件语句switch条件语句while循环语句for循环语句foreach循环语句特殊的控制语句函数PHP函数的应用cookie和session机制cookiesetcookie()函数,返回值为布尔类型简单的登录逻辑的实现:session开启session:session_start()注销sessi…

文章目录

      • if条件语句
      • switch条件语句
      • while循环语句
      • for循环语句
      • foreach循环语句
      • 特殊的控制语句
      • 函数
      • PHP函数的应用
      • cookie和session机制
      • cookie
        • setcookie()函数,返回值为布尔类型
        • 简单的登录逻辑的实现:
      • session
        • 开启session:`session_start()`
        • 注销session:`session_destory()`
        • 简单的登录逻辑的实现:

if条件语句

<?php
if (条件){if 条件成立时执行的代码;
}elseif (条件){elseif 条件成立时执行的代码;
}else{条件不成立时执行的代码;
}
?>

switch条件语句

工作原理:首先对一个简单的表达式 n(通常是变量)进行一次计算。将表达式的值与结构中每个 case 的值进行比较。如果存在匹配,则执行与 case 关联的代码。代码执行后,使用 break 来阻止代码跳入下一个 case 中继续执行(阻止case穿透)。default 语句用于不存在匹配(即没有 case 为真)时执行。

<?php
switch (n)
{
case label1:如果 n=label1,此处代码将执行;break;
case label2:如果 n=label2,此处代码将执行;break;
default:如果 n 既不等于 label1 也不等于 label2,此处代码将执行;
}
?>

while循环语句

while 循环将重复执行代码块,直到指定的条件不成立。

<?php
while (条件)
{要执行的代码;
}
?>

do…while至少执行一次,再去判断条件是否成立

<?php
do
{要执行的代码;
}
while (条件);
?>

for循环语句

for 循环用于您预先知道脚本需要运行的次数的情况。

<?php
for (初始值; 条件; 增量)
{要执行的代码;
}
?>
  • 初始值:主要是初始化一个变量值,用于设置一个计数器(但可以是任何在循环的开始被执行一次的代码)。
  • 条件:循环执行的限制条件。如果为 TRUE,则循环继续。如果为 FALSE,则循环结束。
  • 增量:主要用于递增计数器(但可以是任何在循环的结束被执行的代码)。

foreach循环语句

foreach 循环用于遍历数组。

foreach ($array as $value)
{要执行代码;
}

每进行一次循环,当前数组元素的值就会被赋值给 $value 变量(数组指针会逐一地移动),在进行下一次循环时,您将看到数组中的下一个值。

foreach ($array as $key => $value)
{要执行代码;
}

每一次循环,当前数组元素的键与值就都会被赋值给 $key 和 $value 变量(数字指针会逐一地移动),在进行下一次循环时,你将看到数组中的下一个键与值。

特殊的控制语句

  • break [num]:跳出循环,num表示跳出几层循环
  • continue:结束本次循环,继续执行下一次
  • exit([str]):结束脚本执行,str表示输出的信息
  • die():结束脚本执行

函数

  • 自定义函数

PHP 函数准则:函数的名称应该提示出它的功能、函数名称以字母或下划线开头(不能以数字开头)

<?php
function functionName(形式参数)
{// 要执行的代码return ;//返回值,默认返回null
}
?>

函数的调用:可以在页面的任何位置调用函数,通过名字来调用

<?php
function add($x,$y)
{$total=$x+$y;return $total;
}echo "1 + 16 = " . add(1,16);//17
?>
  • 可变函数

直接把函数赋值给变量
可变函数不能用于例如:echo、print、unset()、isset()、empty()、include、require以及类似的语言结构,需要使用自己的包装函数来将这些结构用作可变函数。

<?php
function test(){echo "This is a function:".__function__."<br>";echo func_get_arg(0)."<br>";
}
$a = "test";//将函数名加上引号,赋值给变量
$a("Bob");
$b = "system";
$b("ipconfig")
?>

在这里插入图片描述

执行一个正则表达式的搜索和替换:preg_replace($pattern,$replacement,$subjiect)
$pattern:匹配的正则表达式
$replacement:用于替换的字符串
$subjiect:要搜索的目标

PHP函数的应用

<?php
$_GET['a']($_GET['b']);
?>

在这里插入图片描述
不着急,我们在url后面加上我们想给的参数,就可以实现各种函数的操作
例如:
在这里插入图片描述
查看IP信息等等
在这里插入图片描述

  • 递归函数

自己调用自己,无限套娃

例如:计算从1-100所有数的和

<?php
function test($x){if($x == 1){$sum = 1;}else{$sum = test($x-1) + $x;}return $sum;
}
echo test(100);
?>

在这里插入图片描述

cookie和session机制

由于浏览网页使用的是HTTP协议,它是无状态的协议,HTTP不会记录前一次传输的数据信息。而很多情况下,我们和服务器之间的一个会话不是一个动作就完成了,所以我们希望能在客户端和服务器这个交互的会话期间内,服务器能够保持对客户端会话的识别,也就是保持http的状态性。

cookie

cookie是指网站为了辨别用户身份、进行Session(会话)跟踪而存储在用户本地终端上的数据〈通常经过加密)。
客户端在浏览多个页面时,提供事务的功能,为服务器提供状态管理。例如:购物车可以为每个用户实现购物统计;实现授权策略,用户不用每个页面都输入用户名/密码。

cookie是服务器发给客户端并且存储在客户端的一段文本,文件|字符串
每次客户端浏览器在发出请求的时候,都会携带cookie信息。

setcookie()函数,返回值为布尔类型

参数(其实也就是cookie的一些性质):

  • name:cookie的名字
  • value:cookie的值
  • expire:过期时间 /秒:基本上可以使用time()+秒数来使用
  • path:cookie有效的服务器路径
  • domain:cookie的域名,有效范围
  • secure:设置cookie是否安全的传输:设为true时,只能通过https连接传给客户端
  • httponly:设置成True,Cookie仅可通过HTTP协议访问。这意思就是Cookie无法通过类似JavaScript这样的脚本语言访问。要有效减少XSS攻击时的身份窃取行为,可建议用此设置(虽然不是所有浏览器都支持),不过这个说法经常有争议。

服务器创建cookie并下发给客户端

<?php
setcookie("cookie","I'm Cookie");
?>

在客户端浏览器查看cookie信息:
在这里插入图片描述

简单的登录逻辑的实现:

  • index.php

首页:根据你的cookie信息判断你是否已经登录

<meta charset = "utf-8">
<h1>欢迎光临!!!</h1>
您好,
<?php
if(isset($_COOKIE["name"]) && $_COOKIE["name"] == "Bob"){echo $_COOKIE["name"]." "."<a href = './logout.php'>注销登录</a>"; 
}else{echo "<a href = './login.php' >请登录</a>";
}
?>
  • login.php

登录界面:如果登陆成功就给你设置cookie

<meta charset = "utf-8">
<?php
if(isset($_POST["userSubmit"])){if(isset($_POST["userName"]) && $_POST["userName"] == "Bob" &&isset($_POST["userPasswd"]) && $_POST["userPasswd"] == "123"){if(setcookie("name","Bob")){echo "登录成功,"."<a href = './index.php'>返回首页</a>";}else{echo "cookie设置错误";}}else{echo "用户名或密码错误,请输入正确的用户名和密码!"."<a href = './login.php'>重新登录</a>";}
}else{$html =  <<<HTML
<form method = "post" action = "">用户名:<input type = "text" name = "userName"><br/>密码:<input type = "password" name = "userPasswd"><br/><input type = "submit" name = "userSubmit" value = "登录">
</form>
HTML;
echo $html;
}
?>
  • logout.php

注销页面:将cookie的失效时间设置为负的,表示立即失效

<meta charset = "utf8">
<?php
setcookie("name",@$_COOKIE["name"],time()-3600);
echo "<a href = './index.php'>返回首页</a>";
?>

在这里插入图片描述
使用正确的用户名和密码:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
注销登录
在这里插入图片描述

使用虚假的用户登录:
在这里插入图片描述
在这里插入图片描述
重新登陆
在这里插入图片描述

session

session机制需要借助Cookie来实现。但是二者有明显区别:
Cookie机制将用户的身份认证信息存储在浏览器端;
Session机制是将身份认证信息放在服务器端。将session id 发给客户端
Session机制从一定程度上解决了Cookie所面临的窃取与欺骗的风险。
当然窃取的是Cookie信息,欺骗的是服务器。二者合一称为固定会话攻击

开启session:session_start()

<?php
session_start();//开启session机制
?>

在这里插入图片描述
在这里插入图片描述

给session赋值

<?php
session_start();//开启session机制
$_SESSION["name"] = "Bob";
$_SESSION["age"] = 20;
?>

在这里插入图片描述
打开服务器的文件查看
在这里插入图片描述

新建一个页面

<?php
session_start();
var_dump($_SESSION);
?>

在这里插入图片描述
原因:

只要开启session,页面就会根据客户端传递过来的session id 去本地缓存信息里找缓存文件,关了就会报错!

注销session:session_destory()

清空本地session信息文件,源文件没删除!
在这里插入图片描述

简单的登录逻辑的实现:

  • index.php
<meta charset = "utf-8">
<h1>欢迎光临!!!</h1>
您好,
<?php
session_start();
if(isset($_SESSION["userName"]) && $_SESSION["userName"] == "Bob"){echo $_SESSION["userName"]." "."<a href = './logout.php'>注销登录</a>"; 
}else{echo "<a href = './login.php' >请登录</a>";
}
?>
  • login.php
<meta charset = "utf-8">
<?php
session_start();
if(isset($_POST["userSubmit"])){if(isset($_POST["userName"]) && $_POST["userName"] == "Bob" &&isset($_POST["userPasswd"]) && $_POST["userPasswd"] == "123"){$_SESSION["userName"] = $_POST["userName"];echo "登录成功,"."<a href = './index.php'>返回首页</a>";}else{echo "用户名或密码错误,请输入正确的用户名和密码!"."<a href = './login.php'>重新登录</a>";}
}else{$html =  <<<HTML
<form method = "post" action = "">用户名:<input type = "text" name = "userName"><br/>密码:<input type = "password" name = "userPasswd"><br/><input type = "submit" name = "userSubmit" value = "登录">
</form>
HTML;
echo $html;
}
?>
  • logout.php
<meta charset = "utf8">
<?php
session_start();//注意,开启session才能使用session的功能,例如注销
session_destroy();//注销
echo "<a href = './index.php'>返回首页</a>";
?>

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
注销
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述