linux网络编程实现投票功能
来源:互联网 发布:java future get 阻塞 编辑:程序博客网 时间:2024/06/10 04:03
投票系统
1.说明:
写了一个投票系统,过程是先配置好服务器,在写一个网上投票功能,要实现网上投票功能。
其实功能实现还是很简单的,麻烦一点的在于过程比较繁杂,要做的东西还是挺多的!
2.过程:
第一步:配置httpd服务器
先配置好httpd服务器。我先下载好了和http服务器的包后,由于fedora的httpd配置相对比较简单,所以我也只是简单的做了一下修改,如下:
把:
<Directory"/var/www/cgi-bin">
AllowOverrideNone
OptionsNone
Requireall granted
</Directory>
修改为:
<Directory"/var/www/cgi-bin">
AllowOverrideNone
AddHandlercgi-script py sh cgi
OptionsExecCGI
Orderallow,deny
Allowfrom all
Requireall granted
</Directory>
然后在开启httpd服务器就好了。
第二步:建立数据库
由于投票要涉及到数据库的修改与更新,所以要事先建立好一个数据库,我建立了一个名为poll的数据库,并为poll数据库建立了一个名为poll_name的表,里面添加了name与num两个字段,并插入了
“alop“ ,0与 “daoyan“ 0两个值,用于投票,需要注意的是,建立数据库只是为了投票后要进行数据更新在返回页面,所以,如果想简单一点的话,我觉得用文件就足够了。不够这个例子是因为数据极为简单,但要是若有很多复杂的操作的话,还是建立数据库比较方便!
第三步:写cgi程序
这是最关键的一步了,这一步要完成的是当用户投票之后,通过通信技术返回给服务器之后,服务器该如何处理的问题,毫无疑问,这次我们要做的就是当客服端选择某个人,如”alop“,并点击,服务器收到这个消息后,要对数据库的里”alop”的num值+1即可,这里我是用python写的程序,如下:
#!/usr/bin/envpython#coding=utf-8importcgi, cgitbimportMySQLdbdb= MySQLdb.connect("localhost", "root", "","poll")cursor= db.cursor()sql_update= "UPDATE poll_name SET num = num + 1 WHERE name = '%s'"sql_query= "SELECT num FROM poll_name"results= ()form= cgi.FieldStorage()name= form.getvalue('name')sql_update= sql_update % namecursor.execute(sql_update)db.commit()cursor.execute(sql_query)results= cursor.fetchall()print"Content-type:text/html/r/n/r/n"print"<html>"print"<head>"print"<title>Radio - Fourth CGI Program</title>"print"</head>"print"<body>"print'<form action="/cgi-bin/election.py" method="post">'print'<input type="radio" name="name" value="alop"/> alop %d </br>' % results[0][0]print'<input type="radio" name="name"value="daoyan" /> daoyan %d </br>' %results[1][0]print'<input type="submit" value="submit" />'print"</form>"print"</body>"print"</html>"
整个程序还是很简单的。
这样,就完成了整个过程:
3.效果
效果如下:
当点击alop后,如下
这样,整个过程就完成了。
from: http://www.th7.cn/system/lin/201405/56967.shtml
- linux网络编程实现投票功能
- linux网络编程实现投票功能
- php实现投票功能
- 实现投票功能
- Linux网络编程实现客户端服务端收发数据功能
- div+css+jQuery简单实现投票功能..
- Androd 实现投票的功能(问卷调查)
- 10 实现Django投票的功能
- Linux网络编程--多线程实现echo服务器与客户端“一对多”功能,网络编程的“Hello World!” - 壮壮熊
- 网络编程--实现用户登录验证功能
- 投票功能
- Linux网络编程---NTP实现
- S3c2410-linux实现网络视频监控功能
- S3c2410-linux实现网络视频监控功能
- S3c2410-linux实现网络视频监控功能
- 用linux的curl实现自动投票
- 使用Windows服务实现投票结果的自动发送功能
- Python模拟登陆新浪微博并实现投票功能
- 功能这么齐全的图片压缩类
- Swift中使用do-catch语句进行异常处理
- heat template: get_param to get value from JSON param.
- LeetCode(173) Binary Search Tree Iterator
- 对话框
- linux网络编程实现投票功能
- Linux 网络编程 简单实例
- c++11中condition_variable信号量的标准用法。
- 71,类的继承性
- Linux网络编程--多线程实现echo服务器与客户端“一对多”功能,网络编程的“Hello World!” - 壮壮熊
- PHP curl 可以模仿用户登录,还可以模仿用户IP地址、伪造IP来源
- 【bzoj2927】[Poi1999] 多边形之战
- 斯坦福大学Andrew Ng教授主讲的《机器学习》公开课观后感
- Linux启动过程中几个重要配置文件的执行过程