STORYCODE
跳到主內容
返回觀點列表
技術開發6 分鐘閱讀

只是送出一張表單? 一個「聯絡我們」背後, 其實沒那麼簡單

STORYCODE 編輯室
只是送出一張表單? 一個「聯絡我們」背後, 其實沒那麼簡單

你可能做過這件事很多次。進到一個網站,找到「聯絡我們」。填上姓名。輸入 Email。

留下電話。打了一段:
「您好,我想詢問網站製作的費用。」
然後——

按下「送出」。

畫面跳出:
「感謝您的留言,我們會盡快與您聯絡。」
結束。整個過程可能不到一分鐘。

看起來,就只是把幾個字送出去而已。但如果我們把網站的牆壁掀開,你可能會發現……剛剛那封訊息,已經開始了一趟比你想像中忙碌很多的旅程。

你按下「送出」的那一刻,事情才正要開始

可以把一張網站表單想像成:

你到機場櫃檯,把行李交給地勤。

對旅客來說很簡單。護照給他。行李放上去。拿登機證。

走人。可是你的行李呢?它不會因為你轉身離開,就瞬間出現在目的地。它會經過輸送帶、掃描、分類、安檢、裝載,最後才進到正確的飛機。

網站表單也是一樣。你看到的只有:

「送出」

但網站看到的是:
「好,各位,有新的東西進來了!」
接著後台就開始忙了。

第一關:你填的資料,真的可以用嗎?

假設有人填:
姓名:王小明
Email:我不知道
電話:123

留言:哈囉
如果網站什麼都不檢查,就直接全部收進去……負責聯絡客戶的人大概只會看著螢幕發呆。所以一份表單送出以前,通常都會先經過基本檢查。

例如:
Email 有沒有 @?電話格式合不合理?必填欄位是不是空白?

文字是不是長得太離譜?有沒有少填重要資料?

這有點像寄包裹。你至少得先寫:

寄件人、收件人、地址。

如果收件地址只寫:
「台北那間公司。」
物流司機大概也只能祝你幸福。

「前端有檢查啊!」那後端為什麼還要再查一次?

這裡就出現一個很多人不知道的小秘密。你在畫面上看到的那些:
「此欄位必填」
「Email 格式錯誤」

「請輸入手機號碼」
通常只是第一層檢查。我們可以把它想成去夜店。門口第一個工作人員看你:

「有沒有帶證件?」
「穿拖鞋?」
「今天有沒有包場?」
這叫第一關。

但你通過門口,不代表你就可以直接跑去金庫。網站也是如此。前端的檢查主要是讓使用者方便。真正送進伺服器以後,後端還會再檢查一次。

因為對後端來說:
不能只相信畫面傳過來的東西。正常使用者會乖乖填表單。但有些程式,可不一定這麼乖。

所以真正重要的資料,網站通常會再確認一次。

前端是在提醒客人。

後端則是在保護整間店。

 

好,資料沒問題了。

接下來呢?這封訊息終於可以正式「進站」。通常接下來會發生幾件事。

① 把資料保存下來

姓名。電話。Email。留言內容。

時間。甚至來源頁面。網站可能會把這些資料保存到資料庫裡。你可以把資料庫想成公司的檔案室。

只是以前的檔案室是一排鐵櫃。現在的檔案室住在伺服器裡。目的都是一樣的:

不要讓重要資料憑空消失。

② 通知真正需要知道的人

資料存好了,不代表工作結束。總不能期待業務每天早上九點泡一杯咖啡,然後坐在後台一直重新整理:
「今天有人留言了嗎?」
「現在有嗎?」

「現在呢?」
所以網站通常還會主動通知相關人員。例如寄 Email。或者串接公司的通知系統。

甚至通知指定的部門或窗口。也就是說,你按下一次「送出」,
網站背後可能同時完成:

收資料 → 保存 → 找人 → 通知。

看起來只是一顆按鈕。其實已經偷偷跑了一場接力賽。

「那直接寄 Email 就好了啊?」

這也是很常見的想法。表單送出。寄一封信。結束。

確實,有些很簡單的網站可以這麼做。但問題是——

Email 不是百分之百可靠。

有可能進垃圾郵件。有可能郵件服務暫時異常。有可能收件設定發生問題。甚至某一天負責收信的人離職了,而信箱還沒換。

如果所有詢問都只存在 Email 裡,一旦郵件沒有正常送達,那筆詢問可能就真的消失了。所以比較完整的做法,常常是:

資料先留下來,Email 負責通知。

這就像餐廳點餐。服務生不會只跑進廚房大喊:
「五桌一份牛排!」
喊完就當作完成。

通常還是會有一張單。因為人會忘記。系統偶爾也會出問題。

重要的事情,最好留下紀錄。

然後,還有一群不請自來的客人

如果你曾經經營過網站,你可能會遇過這種留言:
「BEST SEO SERVICE CLICK HERE!!!!」
或是:
「恭喜您獲得 500 萬美元遺產。」

甚至整篇都是不知道哪國語言的神秘文字。你心裡可能會想:
到底誰每天這麼閒?答案通常是:

不是人。

網路上有大量自動化程式,會不停尋找網站表單。找到之後,自動填。自動送。下一個。

再填。再送。它不累。不用吃飯。

也不用睡覺。一天送你幾千封,它完全沒有心理負擔。所以現在看起來只是一張普通的「聯絡我們」,背後常常還得想辦法判斷:

你到底是人,還是機器人?

這也是為什麼有些網站會出現:
「我不是機器人」
或要求你選:
「所有有紅綠燈的圖片。」

有時候選到最後,甚至會開始懷疑自己:
「等等……我真的是人嗎?」

還有一件更重要的事:你的資料

姓名。Email。電話。公司名稱。

詢問內容。這些看起來很普通。但它們都是使用者願意交給網站的資料。既然收了,就有責任好好處理。

這也是為什麼網站開發不只是:
「畫面漂不漂亮?」
「按鈕會不會動?」
後面還會牽涉到:

資料要存在哪裡?哪些人可以看到?是不是什麼人輸入網址就能看到?系統有沒有做好基本防護?

有沒有不必要地收集太多資料?就像客人把一封信交給你。你不會收到之後隨手丟在店門口。網站也是一樣。

所以,一張表單到底有多複雜?

如果只是畫面:
可能真的不複雜。姓名。Email。

電話。留言。送出。五個東西。

但如果問的是:

「這張表單能不能長期穩定地幫公司收客戶詢問?」

事情就完全不同了。你開始需要思考:
資料有沒有填正確?送出失敗怎麼辦?

重複送出怎麼辦?垃圾訊息怎麼辦?通知沒寄出去怎麼辦?資料要不要留存?

哪些人可以看到?未來如果要接 CRM 呢?如果要分給不同業務呢?如果海外客戶要進不同部門呢?

如果一天突然不是 5 封,而是 5,000 封呢?這也是網站開發很有趣的地方。

畫面上的東西,通常只是冰山露出水面的部分。

真正讓網站穩定運作的,
往往都是那些使用者看不到的地方。

好的網站,不是讓你看到很多技術

而是讓你幾乎感覺不到技術存在。你按下按鈕。它正常送出。資料沒有不見。

該收到的人收到。垃圾訊息被擋掉。需要保存的資料被保存。發生問題時也知道哪裡出了問題。

然後你繼續做自己的事情。這其實就是好的網站系統最舒服的狀態。使用者不需要知道後面跑了多少程式。就像你搭電梯,也不需要理解馬達、纜線與控制系統。

你只希望:

按 8 樓,它真的把你送到 8 樓。

網站也是。

你看到的是一顆按鈕。

我們看到的是它按下去之後,
資料會去哪裡、
誰會收到、
出錯怎麼辦、

怎麼保存,
以及怎麼讓這件事情每天重複發生,
依然穩定。
這些「看不到的地方」,

往往才是一個網站真正使用三年、五年之後,
開始感受到差異的地方。

好的網站,不只是把事情做出來。

而是讓事情可以一直好好地發生。

— STORYCODE

有一個想法,想找人一起實現?

從企劃到上線,我們陪你把每一個決定想清楚。

聊聊你的專案