完成的功能对表单字段进行验证

密码长度、密码一致、验证码验证、用户首字母须大写等

效果演示

  1. <?php
  2. error_reporting(E_ALL & ~E_NOTICE);
  3. // 设置一串字符串
  4. $codes = '1234567890qwertyuioplkjhgfdsazxcvbnmQWERTYUIOPLKJHGFDSAZXCVBNM';
  5. // 获取字符串索引
  6. $textCode = '';
  7. for ($i = 0; $i < 4; $i++) {
  8. // $textCode .= "<span style = 'color:rgb( " . mt_rand(0, 255) . "," . mt_rand(0, 255) . "," . mt_rand(0, 255) . ") '>" .
  9. // $codes{mt_rand(0, strlen($codes) - 1)} . "</span>";
  10. $textCode .= $codes{mt_rand(0, strlen($codes) - 1)};
  11. }
  12. // var_dump($textCode);
  13. ?>
  14. <!DOCTYPE html>
  15. <html lang="en">
  16. <head>
  17. <meta charset="UTF-8">
  18. <meta http-equiv="X-UA-Compatible" content="IE=edge">
  19. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  20. <link href="https://cdn.bootcdn.net/ajax/libs/twitter-bootstrap/4.0.0/css/bootstrap.css" rel="stylesheet">
  21. <script src="https://cdn.bootcdn.net/ajax/libs/twitter-bootstrap/4.0.0/js/bootstrap.js"></script>
  22. <script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.6.0/jquery.js"></script>
  23. <title>注册验证信息</title>
  24. </head>
  25. <body>
  26. <div class="container">
  27. <form method="post" action="login.php">
  28. <div class="form-group">
  29. <label for="text">用户名</label>
  30. <input type="text" class="form-control" name="text" aria-describedby="emailHelp" value="<?= $_POST['text'] ?>" required>
  31. <small id="emailHelp" class="form-text text-muted">首字母需要大写,并且用户名在6-12位之间</small>
  32. </div>
  33. <div class="form-group">
  34. <label for="password">密码</label>
  35. <input type="password" class="form-control" name="password" required>
  36. </div>
  37. <div class="form-group">
  38. <label for="psw">再输一遍</label>
  39. <input type="password" class="form-control" name="psw" required>
  40. </div>
  41. <div class="form-group">
  42. <input type="text" class="form-control" name="code" placeholder="验证码">
  43. <input type="text" class="form-control" name="textCode" value="<?=$textCode?>" hidden>
  44. <small id="emailHelp" class="form-text text-muted" name="tecode"><?=$textCode ?></small>
  45. </div>
  46. <button type="submit" class="btn btn-primary" name="button" value="1">注册</button>
  47. </form>
  48. <iframe id="iframeForm" name="iframeForm" style="display:none;"></iframe>
  49. </div>
  50. <?php
  51. if ($_POST['button']) {
  52. $username = $_POST['text'];
  53. // echo $username;
  54. // 验证用户名
  55. if (strlen($username) >= 6 && strlen($username) <= 12) {
  56. if (ord($username) < 65 || ord($username) > 90) {
  57. echo '<span style="color:red">用户名首字母须大写</span>';
  58. } else {
  59. echo '<span style="color:green">用户名正确</span>';
  60. // 验证密码
  61. if(strcmp($_POST['password'],$_POST['psw']) == 0) {
  62. echo '<span style="color:green">密码输入一致</span>';
  63. // 验证验证码
  64. var_dump($_POST['code']);
  65. var_dump(sprintf($_POST['textCode']));
  66. if(strcasecmp($_POST['textCode'],$_POST['code']) == 0){
  67. echo '<span style="color:green">验证码正确</span>';
  68. }else{
  69. echo '<span style="color:red">验证码不正确</span>';
  70. }
  71. }else{
  72. echo '<span style="color:red">两次密码输入不一致</span>';
  73. }
  74. }
  75. } else {
  76. echo '<span style="color:red">用户名需要在6-12位字符之间</span>';
  77. }
  78. }
  79. ?>
  80. <script>
  81. document.forms[0].target="rfFrame";
  82. </script>
  83. </body>
  84. </html>

答疑:一开始生成的验证码是四位带随机颜色的验证码,但是验证码字符串长度过长了,和我输入的长度不一致,这个问题要怎么解决?

更多相关文章

  1. php简单实现模拟用户登陆验证
  2. PHP模拟用户登陆验证
  3. PHP注册验证判断
  4. 完成一个用户注册页面, 用xmind文件中总结的字符串函数库,对表单
  5. zy0809
  6. 用PHP写一个用户注册验证
  7. 配置SSH密码登录
  8. 注册表单、基本选择器及上下文选择器
  9. 18.)PHPWeb开发框架~Laravel中表单自动验证机制配置

随机推荐

  1. Ubuntu 下android 开发遇到的各种问题
  2. Android初级教程启动定时器详解
  3. android developer 打不开 解决办法
  4. 日常收集的Android开发资料来源
  5. Android 字符串格式化 千位符
  6. android button自定义触摸前以及触摸时的
  7. android获取文件目录
  8. Android代码实现APK文件的安装与卸载
  9. Android(安卓)-- Camera源码简析,启动流程
  10. 开源中国-android软件资源整理