php環境下的投票小系統 只爲方便你我他

    前不久,有個在上大學的學生下載了我很早之前的寫的一個很low的投票的app,然後有人過來諮詢我怎麼使用,後來聽說了他的需求,他是一位比賽的策劃者之一,他想在一個比賽會場裏,讓會場裏的人蔘與投票,起初是想使用我的投票軟件,但是,我開發的那款app是需要人來註冊的,這樣讓很多個不認識的參與者安裝一個app並且還要註冊,就爲投一個票,明顯是不太合適的,再加上,之前的那款app在創建投票的時候需要添加參與者的信息的,在這個場景之中是不太容易實現的。        在跟他深入溝通了需求後,找出以下幾個重點:1、最重要的一點,需要在場的每一位觀衆進行投票,所以,投票的方式要簡單,所以每個觀衆安裝app是不太現實的;2、活動的舉辦者要方便的對投票進行管理和統計;3、只能讓在場的人蔘與投票,而不能讓場外的人蔘與刷票;綜上所述,我覺得,網頁是實現這個東西的最好途徑了,於是,我決定用十分之一吊子的php來完成這次挑戰。

    首先,先看下最終的low比效果,畢竟我剛學網頁沒幾天,low是可以理解的。

    第一張圖是首頁圖,當時沒什麼好展示的,就展示了已註冊用戶。


    第二張圖是創建投票的頁面。在這個頁面中,根據這個同學的需求,他們現在目前一般是對參賽人員進行投票,所以,需要組織者填寫以下信息,其中候選人個數作爲投票界面中可投票人數的最大值,預計參與投票人數是對可能參與投票的人數的一個大概,因爲,我們需要在網頁上生成每個參與者的唯一參與碼,具體後面會講。最後就是候選人名單。


    第三張圖是對創建的投票的詳情界面,這個頁面中展示了之前在創建投票填寫的一些信息,還有生成的隨機碼,順便生成了一個投票的連接,通過這個連接可以直接進入到投票的界面,如下所示。


    第四張圖是投票頁面,也是觀衆會看到的頁面,剛剛上面生成的投票連接,活動舉辦者可以直接做成二維碼放在投影上,讓觀衆掃一掃參與投票,其中需要填寫投票參與碼,這個投票參與碼就是上面生成的隨機碼,這個隨機碼到時候舉辦方會用卡片的方式將每個觀衆的投票碼發送給觀衆,每個觀衆使用自己唯一的投票碼才能參與投票,與此同時,每個參與碼都只能參與一次投票,這也就避免了場外的人蔘與刷票的嫌疑。觀衆投完票後舉辦方再去進入到投票管理頁面就能看到對投票的結果進行統計了。


    第五張圖,投票詳情頁,這裏展示了投票的詳情,並且用統計圖的形式一目瞭然的展示了投票結果。


    這個小系統實現大致思路如下:

    根據需求,我們的小型管理系統肯定是需要管理員登錄的,所以,需要有一個用戶系統,所以需要一個註冊和登錄頁面,讓管理員進行註冊和登錄操作,至於這兩個頁面的設計,我實現的效果是醜陋的,當然,咱用功能就行。已註冊用戶,可以創建投票,提交時,本地會生成一個唯一的投票碼,根據需求,爲了保證投票的真實性,需要根據參與羣體的數量生成相當數量的個人投票參與碼,這個參與碼是到場觀衆的唯一標識,所以,與此同時,會生成n個投票參與碼,並提交到數據庫中,我在新浪雲(http://www.sinacloud.com/)中申請了一個雲應用SEA,申請一個應用,然後將寫好的PHP代碼上傳到應用中,並在改應用中申請了一個共享性的MYSQL數據庫,作爲該小應用的數據支持。投票創建成功之後,會生成一個連接,該連接是一個投票界面的連接,只不過包含了投票的ID,然後其實這個連接纔是觀衆會用到的界面,他們在這個頁面使用自己的投票參與碼,進行投票。等待觀衆參與完投票後,管理員就可以在管理頁面看到投票的結果統計。只要功能也就這麼多,具體的代碼實現我就不貼出來了,畢竟是個PHP小白寫出來的代碼,就不拿出來出醜了,至於爲什麼分享,只是覺得能用自己的一己之力來爲大家解決一些問題,想必是極好的。    

    下面是小應用的地址,http://cretinzp.applinzi.com/,希望大家有時間可以去看看,更希望大家能有更多的需求,讓我來根據更多的需求來完善和強大這個小系統,比如擴充投票的類型,等等。界面方面的,我最近正在學習網頁的開發,等學有所成的時候再來修改吧!

發佈了61 篇原創文章 · 獲贊 65 · 訪問量 20萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章