ThinkPHP框架简易投票系统

更新时间:2023-06-10 23:17:30 阅读: 评论:0

ThinkPHP框架简易投票系统
最近学习php框架ThinkPHP.话说学习技术最简单的⽅法就是动⼿,所以⾃⼰写了⼀个简单的投票系统(⽆美⼯...),环境是LAMP。这个简单投票系统是给我班做投票⽤的,写的仓促,交互不好。第⼀次写希望⼤家多多包涵。
ThinkPHP的规范这⾥就不说了,先来项⽬结构。
其中3个class.*.php是发送邮件的脚本。其他⽂件夹的作⽤学过ThinkPHP的应该都清楚,在此就不解释了。
泡豆子作文
⼀.index.php
1. <?php
2.    define('THINKPATH','./ThinkPHP/');
3.    define('APP_NAME','Vote');
4.    define('APP_PATH','.');
5.    require_once(THINKPATH.'ThinkPHP.php');
6.    APP::run();
7. ?>
⼆.进⼊Lib/Action⽬录。共4个Action类⽂件。
先看IndexAction.class.php
1. <?php
2. // 本⽂档⾃动⽣成,仅供测试运⾏
3. class IndexAction extends Action
4. {
5.    public function index(){
$this->display();
6.    }
7. }
8. ?>
LoginAction.class.php
1. <?php
2.    class LoginAction extends Action{
3.        public function index(){
4.            $this->display();
5.        }
6. /****************************************************
7. -对⽤户提交的⽤户信息进⾏检查集资建房
8. -***************************************************/
9.        public function check(){
10.            $snum=$_POST['snum'];
11.            $pwd=$_POST['password'];
12.            $Ur=M('classmates');//建⽴与数据库think_classmates表的链接
13.            if($Ur->where("snum='$snum'")->getField('password')==$pwd){
14.                ssion_start();//会话打开
15.                $_SESSION['snum']=$snum;
16.                $this->redirect('Vote/index');//跳转到⽤户投票页⾯
17.                }
18.            el{
19.                $loginfailed="⽤户名或密码错误<br/>";
20.                $this->assign('loginfailed',$loginfailed);
21.                $this->display('index');
22.            }
23.        }
24.        }
25. ?>
QuitAction.class.php
实现⽤户的退出功能.销毁⽤户 SESSION.
1. <?php
2.    class QuitAction extends Action{
3.        public function index(){
4.            ssion_start();
5.            unt($_SESSION['urname']);
6.            $this->redirect('Index/index');
7.        }
8.    }
9. ?>
VoteAction.class.php
1. <?php
2.    class VoteAction extends Action{
3. /******************************************/
4. //--显⽰投票⾸页信息 包括⽤户信息的显⽰ 及猪洗澡的照片
抒情小赋5. //--⽬前可以 进⾏投票的活动
6. /*******************************************/
7.        public function index(){
8.            ssion_start();
9.            if(ist($_SESSION['snum'])){
10.              $snum=$_SESSION['snum'];
11.              $Ur=M('classmates');
12.              $urname=$Ur->where("snum='$snum'")->getField('urname');
13.              $email=$Ur->where("snum='$snum'")->getField('email');
腌生姜
14.              $hello="你好,".$urname;
15.              $quit=" | <a href='__APP__/Quit'>退出</a><br/>";
16.              $information="⽤户信息:<br/>"."真实姓名:".$urname."<br/>邮箱:".$email;
17.              $ret="<a href='__APP__/Vote/rets'>重填</a>";遥远的远方
18.              $this->assign('hello',$hello);
19.              $this->assign('quit',$quit );
20.              $this->assign('information',$information);
21.              $this->assign('ret',$ret);
22.              $this->assign();
23.              $this->display();
24.            }
25.            el
26.                $this->redirect('Index/index');
27.        }
28. /***************************************************/
29. //--⽤户信息重置 包括⽤户真实姓名,密码,
30. //--电⼦邮件地址的设置
31. /**************************************************/
32.        public function rets(){
33.            ssion_start();
34.            if(ist($_SESSION['snum'])){
35.                $this->display();
36.            }
37.            el
38.                $this->redirect('Index/index');
39.        }
40.        public function update(){
41.            ssion_start();
42.            if(ist($_SESSION['snum'])){
43.                $Ur=M('classmates');
44.                $snum=$_SESSION['snum'];
45.                $data['urname']=$_POST['urname'];
46.                $data['password']=$_POST['password'];
47.                $data['email']=$_POST['email'];
48.                $Ur->where("snum='$snum'")->save($data);
49.                $updatesuccess="信息更新成功<br/>";
50.                $this->assign('updatesuccess',$updatesuccess);
51.                $this->redirect('Vote/index');
52.            }
53.            el
54.                $this->redirect('Index/index');
55.        }
56. /*******************************************************/
57. //--⽤户参与的⼀个投票活动。
58. //--主要功能是判断⽤户参与的是哪种投票活动
59. /******************************************************/
60.        public function vote(){
61.            if(ist($_SESSION['snum'])){
62.            $id=$_GET['id'];
63.            /*if($id==1)
64.                echo "精神⽂明";
65.            `el if ($id==2)
66.                echo "优秀团员";*/
67.            if($id==1){
68.                $actionname="精神⽂明投票:<br/>";
69.                $actiontype='jingshenwenming';
70.                }
71.            el if ($id==2){
72.                $actionname="优秀团员投票:<br/>";
73.                $actiontype='youxiutuanyuan';
74.                }
75.            $this->assign('actionname',$actionname);
76.            $this->assign('actiontype',$actiontype);
77.            $this->display();}
78.            el
79.                $this->redirect('Index/index');
80.
81.        }
82. /*****************************************************************/
83. //--对⽤户的投票进⾏计算,并更新数据库
84. //--显⽰⽤户此次投票活动的选择
85. /*****************************************************************/
86.        public function calculate(){
87.            if(ist($_SESSION['snum'])){
88.                $actiontype=$_GET['type'];//获得投票活动类型
89.                $schoolnumber=array();//声明复选框数组
90.                $schoolnumber=$_POST['schoolnumber'];
91.                $list='你选的候选⼈如下:<br/>';//显⽰提⽰信息
92.                $Can=M('final');//创建投票活动表连接
93.                $Ur=M('classmates');//创建⽤户信息表连接
94.                foreach($schoolnumber as $candidate){
95.                    if($candidate!=''){//如果某个⼈被选中
96.                        $data[$actiontype]=$Can->where("snum='$candidate'")->getField($actiontype);
97.                        $data[$actiontype]++;
98.                        $Can->where("snum='$candidate'")->save($data);
99.                        $list.=$Ur->where("snum='$candidate'")->getField('urname');
形容开心的成语100.                        $list.='<br/>';
101.                        }
102.                }
103.                $this->assign('list',$list);
革命草
104.                $this->display();
105.            }
106.            el
107.                $this->redirect('Index/index');
108.        }
109.    }
110. ?>
三.进⼊项⽬⽬录下的/Tpl/default/⽬录 共3个模板⽬录。
进⼊Index :
index.html
1. <html>
2.    <head><title>欢迎投票中⼼</title></head>
3.    <body>
4.        <a href='__APP__/Login'>登录</a>
5.    <body>
6. </html>
进⼊Login:
index.html
1. <html>
2.    <head><title>0903的娃赶快登录吧~</title></head>
3.    <body>
4.        {$loginfailed}
5.        <form method='post' action='__APP__/Login/check'>
6.        学 号:<input name='snum' type='text' size='20'/><br/>
7.        密 码:<input name='password' type='password' size='20'/><br/>
8.        <input name='submit' type='submit' value='登录'/>
9.    </form>
10.    </body>

本文发布于:2023-06-10 23:17:30,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/89/1032828.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:投票   活动   信息   脚本   包括   框架   退出
相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图