查看: 2479|回复: 0

[PHP代码] 二维码活码管理系统(多平台响应式/含全套代码)

发表于 2018-3-12 08:00:03
二维码活码管理系统 什么是活码?

二维码生成后,二维码图案不变,内容可随时变更,极大提高营销效率,配合美术设计二维码能力大大提升.
并且可以做到实时统计二维码扫描数据,传播效果一目了然;根据地域、网络、设备等多维度分析数据,提升管理效率.

二维码的活码的技术实现本质是什么?

二维码活码团主要存储一个固定的 php 路径及码的 id,扫描二维码后,服务根据请求内容从数据库中查找二维码的信息,作跳转并记录访问信息.

系统技术

图片描述

重点技术

1.使用插件绘制二维码

  1. // https://github.com/jeromeetienne/jquery-qrcode
  2. // js
  3. function paint(url, ele) {      
  4. outputQRCod(url, 200, 200);           //转换中文字符串
  5. function toUtf8(str) {
  6. var out, i, len, c;
  7. out = "";
  8. len = str.length;
  9. for (i = 0; i < len; i++) {
  10. c = str.charCodeAt(i);
  11. if ((c >= 0x0001) && (c <= 0x007F)) {
  12. out += str.charAt(i);
  13. } else if (c > 0x07FF) {
  14. out += String.fromCharCode(0xE0 | ((c >> 12) & 0x0F));
  15. out += String.fromCharCode(0x80 | ((c >> 6) & 0x3F));
  16. out += String.fromCharCode(0x80 | ((c >> 0) & 0x3F));
  17. } else {
  18. out += String.fromCharCode(0xC0 | ((c >> 6) & 0x1F));
  19. out += String.fromCharCode(0x80 | ((c >> 0) & 0x3F));
  20. }
  21. }
  22. return out;
  23. }
  24. //生成二维码
  25. function outputQRCod(txt, width, height) {
  26. //先清空
  27. $(ele).empty();
  28. //中文格式转换
  29. var str = toUtf8(txt);
  30. //生成二维码
  31. $(ele).qrcode({
  32. render: "canvas", //canvas和table两种渲染方式
  33. width: width,
  34. height: height,
  35. text: str
  36. });
  37. }
  38. }
复制代码

2.使用 php 跳转页面

  1. //php
  2. header("Access-Control-Allow-Origin: *");
  3. $id = isset($_GET["id"]) ? $_GET["id"] : '';
  4. // 连主库
  5. $conn = mysqli_connect('w.rdc.sae.sina.com.cn' . ':' . '3306', 'aaa', 'bbb', 'ccc');
  6. // Check connection
  7. if ($conn->connect_error) {
  8. die("连接失败: " . $conn->connect_error);
  9. }
  10. $sql = "SELECT * FROM `2code_code` WHERE id = '" . $id . "'";
  11. $result = $conn->query($sql);
  12. if (mysqli_num_rows($result) > 0) {
  13. while ($row = mysqli_fetch_assoc($result)) {
  14. if (!strpos($row["content"], "//")) {
  15. $k = "//" . $row["content"];
  16. } else {
  17. $k = $row["content"];
  18. }
  19. $v=$row["num"]+1;
  20. $sql = "UPDATE `app_jxjweb`.`2code_code` SET `num` = '".$v."' WHERE `2code_code`.`id` = '".$id."'";
  21. $result2 = $conn->query($sql);
  22. Header("HTTP/1.1 303 See Other");
  23. Header("Location: $k");
  24. }
  25. } else {
  26. exit('错误路径!');
  27. }
复制代码
效果演示:

点击

账号: jxj2991
密码: 666666

完整代码:

github



回复

使用道具 举报