PHP表單處理之空白檢測

文件form_phone_values.inc中@$$field的意思:
$field是一個變量把跨,在遍歷$labels時(shí)它可以是first_name,middle_name,last_name或phone慷暂,對應(yīng)地$$label就會變成變量$first_name,$middle_name,$last_name或$phone辕宏,這用于在輸入過一次表單后提交失敗的情況下在表單中依然保留用戶的輸入力图。
@符號表示如果是第一次加載這個頁面势腮,$first_name,$middle_name,$last_name和$phone并不存在饲漾,此時(shí)不提示錯誤信息珍剑。

<?php
/*  Program name: form_phone_values.inc
*  Description:  Defines a form that collects a user's
*                name and phone number.
*/
$labels = array( "first_name" => "First Name",
                 "middle_name" => "Middle Name",
                 "last_name" => "Last Name",
                 "phone" => "手機(jī)號碼");
$submit = "提交";
?>
<html>
<head><meta charset="utf-8"><title>Customer Phone Number</title>
<style type='text/css'>
<!--
#form {
    margin: 1.5em 0 0 0;
    padding: 0;
}
#field {padding-bottom: 1em;}
label {
    font-weight: bold;
    float: left;
    width: 20%;
    margin-right: 1em;
    text-align: right;
}
-->
</style>
</head>
<body>
<h3>請?jiān)谙旅孑斎肽氖謾C(jī)號碼</h3>
<?php
//$_SERVER[PHP_SELF]指"當(dāng)前腳本的路徑/文件名"
echo "<form action='$_SERVER[PHP_SELF]' method='POST'>
<div id='form'>";
if(isset($message))
{
    echo $message;
}
/* Loop that displays the form fields */
foreach($labels as $field => $label)
{
    echo "<div id='field'><label for='$field'>$label</label>
    <input id='$field' name='$field' type='text'
    size='50%' maxlength='65'
    value='".@$$field."' /></div>\n";
    }
    echo "<input type='hidden' name='sent' value='yes' />\n";
    echo "<input style='margin-left: 33%' type='submit'
    value='$submit' />\n";
?>
</form></body></html>

strip_tags() 函數(shù)剝?nèi)プ址械?HTML贫堰、XML 以及 PHP 的標(biāo)簽穆壕。
PHP extract() 函數(shù)從數(shù)組中把變量導(dǎo)入到當(dāng)前的符號表中。對于數(shù)組中的每個元素严嗜,鍵名用于變量名粱檀,鍵值用于變量值。第二個參數(shù) type 用于指定當(dāng)某個變量已經(jīng)存在漫玄,而數(shù)組中又有同名元素時(shí)茄蚯,extract() 函數(shù)如何對待這樣的沖突。本函數(shù)返回成功設(shè)置的變量數(shù)目睦优。

<?php
/*  Program name: checkBlank.php
*  Description:  Program checks all the form fields for
*                blank fields.
*/
if(isset($_POST['sent']) && $_POST['sent'] == "yes")
{
    /* check each field except middle name for blank fields */
    foreach($_POST as $field => $value)
    {
        if($value == "")
        {
            if($field != "middle_name")
            {
                $blank_array[] = $field;
            } // endif field is not middle name
        } // endif field is blank
        else
        {
            $good_data[$field] = strip_tags(trim($value));
        }
    }  // end of foreach loop for $_POST
    /* if any fields were blank, create error message and redisplay form */
    if(@sizeof($blank_array) > 0)
    {
        $message = "<p style='color: red; margin-bottom: 0; font-weight: bold'>
    You didn't fill in one or more required fields. You must enter:
    <ul style='color: red; margin-top: 0; list-style: none' >";
    
        /* display list of missing information */
        foreach($blank_array as $value)
        {
            $message .= "<li>$value</li>";
        }
        $message .= "</ul>";
    
        /* redisplay form */
        extract($good_data);
        include("form_phone_values.inc");
        exit();
    } // endif blanks
    echo "All required fields contain information";
} // endif submitted
else
{
    include("form_phone_values.inc");
}
?>
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末渗常,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子汗盘,更是在濱河造成了極大的恐慌皱碘,老刑警劉巖,帶你破解...
    沈念sama閱讀 222,000評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件隐孽,死亡現(xiàn)場離奇詭異癌椿,居然都是意外死亡健蕊,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,745評論 3 399
  • 文/潘曉璐 我一進(jìn)店門踢俄,熙熙樓的掌柜王于貴愁眉苦臉地迎上來缩功,“玉大人,你說我怎么就攤上這事都办〉招浚” “怎么了?”我有些...
    開封第一講書人閱讀 168,561評論 0 360
  • 文/不壞的土叔 我叫張陵琳钉,是天一觀的道長势木。 經(jīng)常有香客問我,道長歌懒,這世上最難降的妖魔是什么啦桌? 我笑而不...
    開封第一講書人閱讀 59,782評論 1 298
  • 正文 為了忘掉前任,我火速辦了婚禮及皂,結(jié)果婚禮上震蒋,老公的妹妹穿的比我還像新娘。我一直安慰自己躲庄,他們只是感情好查剖,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,798評論 6 397
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著噪窘,像睡著了一般笋庄。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上倔监,一...
    開封第一講書人閱讀 52,394評論 1 310
  • 那天直砂,我揣著相機(jī)與錄音,去河邊找鬼浩习。 笑死静暂,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的谱秽。 我是一名探鬼主播洽蛀,決...
    沈念sama閱讀 40,952評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼疟赊!你這毒婦竟也來了郊供?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,852評論 0 276
  • 序言:老撾萬榮一對情侶失蹤近哟,失蹤者是張志新(化名)和其女友劉穎驮审,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,409評論 1 318
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡疯淫,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,483評論 3 341
  • 正文 我和宋清朗相戀三年地来,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片熙掺。...
    茶點(diǎn)故事閱讀 40,615評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡靠抑,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出适掰,到底是詐尸還是另有隱情,我是刑警寧澤荠列,帶...
    沈念sama閱讀 36,303評論 5 350
  • 正文 年R本政府宣布类浪,位于F島的核電站,受9級特大地震影響肌似,放射性物質(zhì)發(fā)生泄漏费就。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,979評論 3 334
  • 文/蒙蒙 一川队、第九天 我趴在偏房一處隱蔽的房頂上張望力细。 院中可真熱鬧,春花似錦固额、人聲如沸眠蚂。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,470評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽逝慧。三九已至,卻和暖如春啄糙,著一層夾襖步出監(jiān)牢的瞬間笛臣,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,571評論 1 272
  • 我被黑心中介騙來泰國打工隧饼, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留沈堡,地道東北人。 一個月前我還...
    沈念sama閱讀 49,041評論 3 377
  • 正文 我出身青樓燕雁,卻偏偏與公主長得像诞丽,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子拐格,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,630評論 2 359

推薦閱讀更多精彩內(nèi)容