博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
linux网络编程实现投票功能
阅读量:7228 次
发布时间:2019-06-29

本文共 1629 字,大约阅读时间需要 5 分钟。

投票系统

1.说明:

写了一个投票系统。过程是先配置好server。在写一个网上投票功能,要实现网上投票功能。

事实上功能实现还是非常easy的,麻烦一点的在于过程比較繁杂,要做的东西还是挺多的!

2.过程:

第一步:配置httpdserver

先配置好httpdserver。

我先下载好了和httpserver的包后,因为fedorahttpd配置相对照较简单,所以我也仅仅是简单的做了一下改动,例如以下:

把:

<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>

然后在开启httpdserver就好了。

第二步:建立数据库

因为投票要涉及到数据库的改动与更新,所以要事先建立好一个数据库。我建立了一个名为poll的数据库,并为poll数据库建立了一个名为poll_name的表,里面加入了namenum两个字段,并插入了

alop“ ,0 与 “ daoyan“ 0两个值,用于投票,须要注意的是,建立数据库仅仅是为了投票后要进行数据更新在返回页面,所以,假设想简单一点的话。我认为用文件就足够了。不够这个样例是由于数据极为简单,但要是若有非常多复杂的操作的话,还是建立数据库比較方便!

第三步:写cgi程序

这是最关键的一步了。这一步要完毕的是当用户投票之后。通过通信技术返回给server之后,server该怎样处理的问题,毫无疑问,这次我们要做的就是当客服端选择某个人,如”alop“。并点击,server收到这个消息后,要对数据库的里”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""print""print"Radio - Fourth CGI Program"print""print""print'
'print'
alop %d
' % results[0][0]print'
daoyan %d
' %results[1][0]print'
'print"
"print""print""

整个程序还是非常easy的。

这样,就完毕了整个过程:

3.效果

效果例如以下:

当点击alop后,例如以下

这样,整个过程就完毕了。

你可能感兴趣的文章
PHP单例模式
查看>>
解密敏捷自动化测试
查看>>
DelphiMVC拦截器介绍
查看>>
Spring Cloud构建微服务架构:分布式配置中心【Dalston版】
查看>>
iOS 11正式版终于来了!强力助攻小程序
查看>>
开放平台API接口调用频率控制系统设计浅谈
查看>>
Lucene4.3进阶开发之潜龙勿用( 七)
查看>>
DTD和schema小总结
查看>>
去掉导航栏的黑线
查看>>
怎样让html加载完毕后加载js代码
查看>>
piwik 案例介绍
查看>>
敏感字过滤
查看>>
为什么我们要从 NodeJS 迁移到 Ruby on Rails
查看>>
Android 文件式数据库Realm
查看>>
Linux 面试知识点笔记
查看>>
论flex布局和box布局的华为meta8手机自带浏览器的兼容
查看>>
dubbo与springcloud初识
查看>>
iis web.config 配置示例
查看>>
归并排序
查看>>
java 的转义字符
查看>>