首頁  >  文章  >  後端開發  >  漂亮的 PHP 驗證碼類

漂亮的 PHP 驗證碼類

WBOY
WBOY原創
2016-07-25 08:46:071253瀏覽
  1. class Page {
  2. private $total; //總記錄
  3. private $pagesize; //每頁顯示多少條
  4. private $limit; //limit
  5. private $page; //目前頁碼
  6. private $pagenum; //總頁碼
  7. private $url; //位址
  8. private $bothnum; //兩邊保持數字分頁的量
  9. //建構方法初始化
  10. public function __construct($_total, $_pagesize) {
  11. $this->total = $_total ? $_total : 1;
  12. $this->total = $_total ? $_total : 1; pagesize = $_pagesize;
  13. $this->pagenum = ceil($this->total / $this->pagesize);
  14. $this->page = $this->setPage();
  15. $this->limit = "LIMIT ".($this->page-1)*$this->pagesize.",$this->pagesize";
  16. $this->url = $this->setUrl ();
  17. $this->bothnum = 2;
  18. }
  19. //攔截器
  20. private function __get($_key) {
  21. return $this->$_key;
  22. }
  23. //取得目前頁碼
  24. private function setPage() {
  25. if (!empty($_GET['page'])) {
  26. if ($_GET[ 'page'] > 0) {
  27. if ($_GET['page'] > $this->pagenum) {
  28. return $this->pagenum;
  29. } else {
  30. return $_GET ['page'];
  31. }
  32. } else {
  33. return 1;
  34. }
  35. } else {
  36. return 1;
  37. }
  38. }
  39. //取得位址
  40. private function setUrl() {
  41. $_url = $_SERVER["REQUEST_URI"];
  42. $_par = parse_url($_url);
  43. if (Yisset($par_url); ['query'])) {
  44. parse_str($_par['query'],$_query);
  45. unset($_query['page']);
  46. $_url = $_par['path '].'?'.http_build_query($_query);
  47. }
  48. return $_url;
  49. } //數字目錄
  50. private function pageList() {
  51. for ($i=$ this->bothnum;$i>=1;$i--) {
  52. $_page = $this->page-$i;
  53. if ($_page $_pagelist . = ' '.$_page.' ';
  54. }
  55. $_pagelist .= ' '.$this->page.' ';
  56. for ($i=1;$ibothnum;$i ) {
  57. $_page = $this->page $i;
  58. if ($_page > $this->pagenum) break;
  59. $_pagelist .= ' '.$_page.' ';
  60. }
  61. return $_pagelist;
  62. }
  63. //首頁
  64. private function first() {
  65. if ($this->page > $this->bothnum 1) {
  66. return ' 1 . ..';
  67. }
  68. }
  69. //上一頁
  70. private function prev() {
  71. if ($this->page == 1) {
  72. return '上一頁';
  73. }
  74. return ' 上一頁 ';
  75. }
  76. //下一頁
  77. private function next() {
  78. if ($this- >page == $this->pagenum) {
  79. return '下一頁';
  80. }
  81. return ' 下一頁 ';
  82. }
  83. //尾頁
  84. private function last() {
  85. if ($this->pagenum - $this->page > $this->bothnum) {
  86. return ' .. .'.$this->pagenum.' ';
  87. }
  88. }
  89. //分頁資訊
  90. public function showpage() {
  91. $_page .= $this->first();
  92. $_page .= $this->pageList();
  93. $_page .= $this->last();
  94. $_page .= $this->prev();
  95. $_page .= $this->next();
  96. return $ _page;
  97. }
  98. }
  99. ?>
複製程式碼

分頁樣式如下圖:

使用說明:

  1. $_page = new Page($_total,$_pagesize); //其中$_total 是資料集的總條數,$_pagesize 是每頁顯示的數量.
  2. ?>
複製代碼

驗證碼, PHP


陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn