zoukankan      html  css  js  c++  java
  • linux网络编程投票

    投票系统

    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-8
    
    importcgi, cgitb
    
    importMySQLdb
    
    db= 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 % name
    
    cursor.execute(sql_update)
    
    db.commit()
    
    cursor.execute(sql_query)
    
    results= cursor.fetchall()
    
    print"Content-type:text/html
    
    "
    
    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>"


    整个程序还是非常easy的。

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

    3.效果

    效果例如以下:


    当点击alop后。例如以下


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









    版权声明:本文博主原创文章。博客,未经同意不得转载。

  • 相关阅读:
    POJ1087 A Plug for UNIX 网络流
    HDU4405 Aeroplane chess 期望DP
    POJ1062 昂贵的聘礼 区间枚举
    HDU4403 A very hard Aoshu problem 枚举
    HDU4407 Sum 容斥定理
    POJ2750 Potted Flower 线段树+DP
    软件项目开发流程以及人员职责
    10款最流行的开源Web设计工具
    C# 把\\r\\n替换为\r\n
    jquery validation 用到的输入验证正则表达式
  • 原文地址:https://www.cnblogs.com/zfyouxi/p/4822823.html
Copyright © 2011-2022 走看看