首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 網頁程式設計 >> PHP 程式設計 >> PHP 綜合知識

PHP 實作趣味人品測試程式:根據姓名計算人品分數

     編輯:PHP 綜合知識

前言

想不想知道自己的「人品分數」?這篇文章分享一個經典的 PHP 趣味小程式,透過輸入姓名,利用字元 ASCII 碼運算得出一個 0 到 100 的分數,並附上幽默的評語。雖然純屬娛樂,但程式碼展示了表單處理、字串運算與條件判斷的基本技巧,適合初學者參考。

程式碼實作

以下是完整的 HTML 與 PHP 混合程式碼,可直接儲存為 .php 檔案執行:

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>算算你的人品</title>
<style type="text/css">
.btn{background:#fff; color:#005681;border-width:1px;padding-left:15px;padding-right:15px;vertical-align:middle}
.input{border:solid 1px #B6D9E3;padding:2px 0px 2px 1px;font-size:1.0em;vertical-align:middle}
</style>
</head>
<body>
<center><br><br><br><br><br><br>
<form method="GET">
輸入你的姓名來算算你的人品:<br>
<input type="text" name="name" maxlength=12 class="input">
<input type="submit" name="submit" value="我來看看" class="btn">
<input type="reset" name="reset" value="還是算了" class="btn">
</form></center>
<p align="center">程式製作:冷楓哥哥©1.01 </p>
<?php
/* 人品計算器 作者:陳文 2007.11.22 版本:1.01 */
function js(){
    $name = $_GET['name'];
    $name = htmlspecialchars($name);
    echo "你的大名是:<font color=red>".$name."</font></br></br>";
    
    $a = 0;
    for($i = 0; $i < strlen($name); $i++){
        $a += ord($name[$i]);
    }
    
    if($name == "高富帥"){ // 彩蛋:特定姓名直接滿分
        $shuzi = 100;
    }else{
        $shuzi = ($a * 47 + 70) % 100;
    }
    
    echo $name."的得分是<font color=blue>".$shuzi."</font></br></br>";
    
    function getValue($shuzi){
        if ($shuzi == 0) {
            echo "你一定不是人吧?怎麼一點人品都沒有?!";
        } elseif (($shuzi > 0) && ($shuzi <= 5)) {
            echo "算了,跟你沒什麼人品好談的...";
        } else if (($shuzi > 5) && ($shuzi <= 10)) {
            echo "是我不好...不應該跟你談人品問題的...";
        } else if (($shuzi > 10) && ($shuzi <= 15)) {
            echo "殺過人沒有?放過火沒有?你應該無惡不作吧?";
        } else if (($shuzi > 15) && ($shuzi <= 20)) {
            echo "你貌似應該三歲就偷看隔壁大媽洗澡的吧...";
        } else if (($shuzi > 20) && ($shuzi <= 25)) {
            echo "你的人品之低下實在讓人驚訝啊...";
        } else if (($shuzi > 25) && ($shuzi <= 30)) {
            echo "你的人品太差了。你應該有幹壞事的嗜好吧?";
        } else if (($shuzi > 30) && ($shuzi <= 35)) {
            echo "你的人品真差!肯定經常做偷雞摸狗的事...";
        } else if (($shuzi > 35) && ($shuzi <= 40)) {
            echo "你擁有如此差的人品請經常祈求佛祖保佑你吧...";
        } else if (($shuzi > 40) && ($shuzi <= 45)) {
            echo "老實交待..那些論壇上面經常出現的偷拍照是不是你的傑作?";
        } else if (($shuzi > 45) && ($shuzi <= 50)) {
            echo "你隨地大小便之類的事沒少幹吧?";
        } else if (($shuzi > 50) && ($shuzi <= 55)) {
            echo "你的人品太差了..稍不小心就會去幹壞事了吧?";
        } else if (($shuzi > 55) && ($shuzi <= 60)) {
            echo "你的人品很差了..要時刻克制住做壞事的衝動哦..";
        } else if (($shuzi > 60) && ($shuzi <= 65)) {
            echo "你的人品比較差了..要好好的約束自己啊..";
        } else if (($shuzi > 65) && ($shuzi <= 70)) {
            echo "你的人品勉勉強強..要自己好自為之..";
        } else if (($shuzi > 70) && ($shuzi <= 75)) {
            echo "有你這樣的人品算是不錯了..";
        } else if (($shuzi > 75) && ($shuzi <= 80)) {
            echo "你有較好的人品..繼續保持..";
        } else if (($shuzi > 80) && ($shuzi <= 85)) {
            echo "你的人品不錯..應該一表人才吧?";
        } else if (($shuzi > 85) && ($shuzi <= 90)) {
            echo "你的人品真好..做好事應該是你的愛好吧..";
        } else if (($shuzi > 90) && ($shuzi <= 95)) {
            echo "你的人品太好了..你就是當代活雷鋒啊...";
        } else if (($shuzi > 95) && ($shuzi <= 99)) {
            echo "你是世人的榜樣!";
        } else if ($shuzi == 100) {
            echo "天啦!你不是人!你是神!!!";
        } else {
            echo "你的人品竟然負溢出了...我對你無語..";
        }
    }
    getValue($shuzi);
}
if($_GET['name']) js();
?>
</body>
</html>

執行效果

執行後會顯示一個簡單的輸入框,輸入姓名送出即可看到分數與評語。

人品測試程式執行畫面

程式邏輯解析

  1. 取得輸入:透過 $_GET['name'] 接收表單資料,並用 htmlspecialchars() 防止 XSS。
  2. 計算分數:將姓名每個字元的 ASCII 碼加總,套用公式 ($sum * 47 + 70) % 100 得出 0-99 分;若輸入「高富帥」則直接給 100 分(彩蛋)。
  3. 分級評語:使用巢狀 if-elseif 將分數對應到不同區間的幽默文字。

安全性提醒

此程式為教學範例,實際部署時建議:

  • 加入 CSRF 防護機制。
  • 使用 Prepared Statements 若需寫入資料庫(原碼中註解掉的記錄功能)。
  • 考慮使用現代框架(如 Laravel)處理路由與視圖分離。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved