国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

PHP設(shè)計(jì)在線投票系統(tǒng)

2014-12-31 15:56吳春艷
電腦知識(shí)與技術(shù) 2014年35期
關(guān)鍵詞:類庫IP地址代碼

吳春艷

摘要:在線投票是目前做網(wǎng)上調(diào)查時(shí)非常實(shí)用的功能。該文介紹了PHP設(shè)計(jì)投票管理系統(tǒng)的設(shè)計(jì)方法和實(shí)現(xiàn)思路,并給出了具體的實(shí)現(xiàn)代碼。

關(guān)鍵詞:PHP;庫;數(shù)據(jù)庫

中圖分類號(hào):TP311 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2014)35-8429-02

Designing Online Voting with PHP Programming Language

WU Chun-yan

(Henan Traffic and Senior Technical school, Zhumadian 463000, China)

Abstract:The voting system is very popular in on survey.The article introduce the way and the realized thread with php programming language,and it provides the detailed codes.

Key words: PHP; library; database

1 概述

投票系統(tǒng)可以實(shí)現(xiàn)在線投票、在線查看投票的結(jié)果。該文在對(duì)投票系統(tǒng)中的關(guān)鍵技術(shù),如動(dòng)態(tài)生成投票主題及選項(xiàng)、通過3D餅形圖分析投票結(jié)果、有效地限制投票次數(shù)等方面進(jìn)行了介紹。

2 數(shù)據(jù)庫設(shè)計(jì)

PHP設(shè)計(jì)程序時(shí),往往采用MySQL作為后臺(tái)數(shù)據(jù)庫。目前MySQL是完全網(wǎng)絡(luò)化的跨平臺(tái)的關(guān)系數(shù)據(jù)管理系統(tǒng),具用體積小,速度快,源碼開放,安全性高等特點(diǎn)。本系統(tǒng)數(shù)據(jù)庫名稱tp,主要涉及兩張表。

2.1 投票主題表tpzt,如表1所示

2.2 單項(xiàng)投票選項(xiàng)數(shù)據(jù)表dxtpxx,如表2所示

3 程序?qū)崿F(xiàn)

3.1 動(dòng)態(tài)生成投票主題和選項(xiàng)

通過Web頁面來實(shí)現(xiàn)主題及選項(xiàng)的添加,實(shí)際上是將表單中的數(shù)據(jù)添加至數(shù)據(jù)庫表中。部分程序代碼如下。

<? Php

$cx=”select * from tpzt”

$jg=mysql_query($cx);

While($myrow=mysql_fetch_array($result)){

?>

If ($submiit=”單選” and $files[‘tppic][‘name]!=””) { //判斷是否單選,并且有圖片上傳

$tptp=$_FILES[‘tppic][‘size];

3.2 通過3D餅形圖分析投票結(jié)果

使用3D餅形圖能夠比較直觀地展示投票結(jié)果,3D餅圖的創(chuàng)建使用的是jpgraph類庫。Jpgraph是一個(gè)強(qiáng)大的繪圖組件,能根據(jù)用戶的需要繪制任意圖形。用戶只要提供用戶數(shù)據(jù),就可以調(diào)用繪圖函數(shù)把處理的數(shù)據(jù)填進(jìn)去自動(dòng)繪制。另外jpgraph需要類庫的支持,如果用戶 jpgraph類庫僅對(duì)當(dāng)前有效,只需將jpgraph壓縮包下的src文件夾中的全部文件復(fù)制到網(wǎng)站所在目錄的文件夾中即可。

應(yīng)用jpgraph創(chuàng)建3D餅形圖時(shí),首先需要連結(jié)數(shù)據(jù)庫,應(yīng)用include_once語句引用指定的文件,然后編寫代碼實(shí)現(xiàn)投票數(shù)量的統(tǒng)計(jì),最后創(chuàng)建Graph對(duì)象,設(shè)置字體及圖例的字體和畫布的位置,將圖形輸出。關(guān)鍵代碼如下。

<?php

Include(“conn/conn.php”)

Include_once(“jpgraph/jpgraph/jpgraph_pie.php”)

Include_once(“jpgraphp/jpgraph_3d.php”);

$query=mysql_0uery(“select sum(tbx) as tpm from tbdx where tbzt=$GET[votezt]”);

$graph=new PieGraph(650,300),auto);

$graph→SetShadow( ); //創(chuàng)建畫布陰影

$graph→title→Set(“應(yīng)用3D餅形圖統(tǒng)計(jì)優(yōu)秀負(fù)責(zé)人”);

$graph→title→SetFont(FF_SIMSUN,F(xiàn)S_BOLD);

$graph→legend→SetFont(FF-SIMSUN,F(xiàn)S_NORMAL); //設(shè)置圖例字體

$p2=new PiePlot3D($resultes) //創(chuàng)建3D餅形圖對(duì)象

$p2→SetLegends($vote_content);

.?>

3.3 使用Cookie投票限制

Cookie是一種能夠讓網(wǎng)站服務(wù)器把少量數(shù)據(jù)儲(chǔ)存到客戶端的硬盤或內(nèi)存,或是從客戶端的硬盤讀取數(shù)據(jù)的一種技術(shù)。使用Cookie控制重復(fù)投票的原理是:當(dāng)用戶使用投票系統(tǒng)時(shí),系統(tǒng)將判斷當(dāng)前客戶端的Cookie的值是否為空,若為空則可以進(jìn)行投票。關(guān)鍵代碼如下。

While(list($name,$value)=each($_post)){

$k+=$name;

If(is_numeric($name)==true) {

Mysql_qurery(“update tpdx set tps= tps+1 where tp tbid=”$name””);

}

If($k=0)

Echo “”;

}

Else { if ($v_flag=0) {

$sql=”update tp_jl set tp_jls=tp_jls+1 where tp_jlh=$r”;

Mysql_query($sql,$conn);

$_SESSION[tp]=1

3.5 使用IP 限制投票

Cookie和Session都是對(duì)投票的時(shí)間間隔進(jìn)行控制,并沒有真正完全對(duì)重復(fù)投票進(jìn)行控制,通過IP地址可以限制重復(fù)投票,它的主要原理:當(dāng)用戶在在客戶端投票時(shí),先獲取得IP地址,如果該IP地址存在,則說明 已經(jīng)進(jìn)行過投票。關(guān)鍵的代碼如下。

$ip=getenv(“REMMOTE_ADDR”); //獲取客戶端的IP地址

If($submit==true) {

If(tb_pb_h==””) {

Echo“alert(‘沒有選擇)windows.lcation.href=tp.php?tp_zt=$_POST[tpzt]

猜你喜歡
類庫IP地址代碼
鐵路遠(yuǎn)動(dòng)系統(tǒng)幾種組網(wǎng)方式IP地址的申請(qǐng)和設(shè)置
用Java編寫客戶機(jī)/服務(wù)器端應(yīng)用程序
Python在數(shù)據(jù)可視化中的應(yīng)用
創(chuàng)世代碼
創(chuàng)世代碼
創(chuàng)世代碼
創(chuàng)世代碼
IP地址切換器(IPCFG)
數(shù)據(jù)結(jié)構(gòu)課程教學(xué)改革方案和應(yīng)用效果
數(shù)據(jù)結(jié)構(gòu)可視化類庫的設(shè)計(jì)與實(shí)現(xiàn)
汾阳市| 浦北县| 饶阳县| 萍乡市| 鹤岗市| 双江| 双牌县| 杭州市| 馆陶县| 平乐县| 巴彦淖尔市| 新巴尔虎左旗| 麦盖提县| 信阳市| 革吉县| 永年县| 远安县| 犍为县| 平罗县| 鄂托克前旗| 龙口市| 松滋市| 垦利县| 永昌县| 土默特左旗| 黑山县| 三江| 镇康县| 惠州市| 通山县| 顺平县| 泾阳县| 临邑县| 襄垣县| 宁陵县| 马边| 汤阴县| 甘洛县| 红河县| 八宿县| 新河县|