博客列表 >PHP流程控制for循环和while循环的语法及PHP表单验证方法---PHP培训线上班十期0108

PHP流程控制for循环和while循环的语法及PHP表单验证方法---PHP培训线上班十期0108

高的PHP十期培训学习笔记
高的PHP十期培训学习笔记原创
2020年01月12日 10:45:35664浏览

for()循环

for(): 计数式循环
for(循环变量的初始化; 循环条件; 更新循环条件) {…}

  1. //创建一个数组
  2. $arr = ['admin', '123456', '男', '安徽'];
  3. // 为了优化输出结果, 把结果转为字符串输出
  4. //创建一个空变量用于接收返回值
  5. $result = '';
  6. for ($i = 0; $i < count($arr); $i++) {
  7. // $result = $result . $arr[$i] .'<br>';
  8. // 上面的简写
  9. $result .= $arr[$i] .'<br>';
  10. }
  11. echo $result;

for()循环遍历 关联数组

next()向后移动,同时会获得当前数组元素的值
prev()向前移动,同时会获得当前数组元素的值
end()移动到最后一个数组元素,并获得它的值
reset()移动到第一个数组元素,并获得它的值
key()获得当前数组指针指向的数组元素的键名
current()获得当前数组指针指向的数组元素的值

while()循环

根据循环条件,只要条件满足就一直执行循环体中的语句
入口判断例子

  1. $i = 0;
  2. while ($i < count($arr)) {
  3. $result .= $arr[$i] .'<br>';
  4. // 必须将循环变量的更新操作写到while中
  5. // ++ 相当于 $i = $i + 1
  6. $i++;
  7. }
  8. echo $result;

常用函数

count(): 计算数组元素的数量
strlen(): 计算字符串长度
trim(), rtrim(), ltrim(): 是从字符串二边,右边, 左边删除指定的字符,默认删除的是空格
mt_rand(min, max): 产生指定范围的随机数

手写语法

PHP表单验证方法

使用PHP表单做一个会员登陆验证的表单

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>会员登陆</title>
  6. <style>
  7. body {
  8. background-color: #edeff0;
  9. }
  10. .dl {
  11. width: 450px;
  12. height: 300px;
  13. display: flex;
  14. flex-direction: column;
  15. font-size: 14px;
  16. color: #282828;
  17. margin: auto;
  18. background-color: #fff;
  19. box-sizing: border-box;
  20. border-radius: 10px;
  21. }
  22. .dl {
  23. box-shadow: 0 0 8px #ccc;
  24. }
  25. .dl > h3 {
  26. align-self: center;
  27. border-bottom: 3px solid lightcoral;
  28. font-weight: normal;
  29. font-size: 20px;
  30. }
  31. .dl > form {
  32. display: flex;
  33. flex-direction: column;
  34. padding: 20px;
  35. }
  36. .dl > form > span {
  37. display: flex;
  38. flex-flow: row nowrap;
  39. height: 60px;
  40. }
  41. .dl > form > span > label {
  42. width: 80px;
  43. position: relative;
  44. display:block;
  45. }
  46. .dl > form input {
  47. height: 30px;
  48. flex: 1;
  49. padding-left: 15px !important;
  50. box-shadow: none;
  51. border: 1px solid #ccc;
  52. border-radius: 4px;
  53. }
  54. .dl > form input:hover {
  55. border: 1px solid green;
  56. }
  57. .dl > form > span > button {
  58. background-color: green;
  59. border: none;
  60. color: #ffffff;
  61. font-size: 20px;
  62. width: 120px;
  63. height: 35px;
  64. margin: auto;
  65. }
  66. </style>
  67. </head>
  68. <body>
  69. <div class="dl">
  70. <h3>会员登陆</h3>
  71. <!-- method:提交验证方式,不指定的话默认为GET-->
  72. <form action="yz.php" method="post">
  73. <span>
  74. <label for="username">用户名:</label>
  75. <!-- required:必填 autofocus:光标定位-->
  76. <input type="text" name="username" id="username" placeholder="输入你的会员名" required autofocus>
  77. </span>
  78. <span>
  79. <label for="password">密码:</label>
  80. <input type="password" name="password" id="password" required>
  81. </span>
  82. <span><button>登陆</button></span>
  83. </form>
  84. </div>
  85. </body>
  86. </html>

  1. <?php
  2. //$_REQUEST: 请求数据的超全局变量,里面保存的是用户所有的请求数据
  3. //$_POST:用post方法传递过来的信息
  4. // 判断用户的请求类型是否合法
  5. //前台页面设置的是POST类型的请求,如果不是POST类型则不运行
  6. //$_SERVER[]获取全局信息,里面包含传递信息的方法等
  7. //$_SERVER['REQUEST_METHOD']:获取请求类型
  8. //这里假设会员名为admin 密码为123456
  9. if ($_SERVER['REQUEST_METHOD'] = 'POST') {
  10. if (!empty($_POST['username'])) $username = $_POST['username'];
  11. if (!empty($_POST['password'])) $password = $_POST['password'];
  12. // 判断用户名是否正确
  13. if ($username === 'admin') {
  14. // 判断密码正不正确
  15. if ($password === '123456') {
  16. echo '登陆成功';
  17. } else {
  18. exit('<script>alert("密码错误");history.back();</script>');
  19. }
  20. } else {
  21. exit('<script>alert("用户名错误");history.back();</script>');
  22. }
  23. } else {
  24. // 如果不是POST请求返回错误信息
  25. exit('<h3 style="color:red">请求类型错误!</h3>');
  26. }

用户名验证不成功返回信息:

密码验证不成功返回信息:

用户名和密码都成功返回信息:

备忘

$_REQUEST: 请求数据的超全局变量,里面保存的是用户所有的请求数据
$_SERVER[]获取全局信息,里面包含传递信息的方法等
$_SERVER['REQUEST_METHOD']:获取请求类型

$_POST:用post方法传递过来的信息
$_GET[]用get方法传递过来的信息

count()判断数组元素个数
strlen()判断字符串长度

密码加密方式:
md5()产生32位加密字符串
sha1();40位随机字符串;

三元运算符, 将双分支进行简化
条件 ? true : false

  1. // $_POST['grade'] = isset($_POST['grade']) ? $_POST['grade'] : 70;
  2. // echo $_POST['grade'];
  3. // $grade = isset($_POST['grade']) ? $_POST['grade'] : 80;
  4. // // php7+
  5. // $grade = $_POST['grade'] ?? 90;
  6. // echo $grade;

(2)、isset();和 empty();区别:
empty();判断传递过来的值是否为空, 0, null, false
isset();检查请求变量是否设置, 并且值不能为NULL,用在设置请求变量默认值;

JS弹窗函数:<script>alert("弹出信息");</script>;
JS返回上页函数:<script>history.back();</script>

声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议