html5如何將表單數(shù)據(jù)提交到數(shù)據(jù)庫(kù)表的指定空格?
網(wǎng)友解答: 為了這個(gè)問(wèn)題我專(zhuān)門(mén)寫(xiě)了一篇文章,請(qǐng)直接看文:昨天在不經(jīng)意的瀏覽網(wǎng)頁(yè),突然收到了一個(gè)問(wèn)題回答的邀請(qǐng),看了這個(gè)問(wèn)題我不僅思緒萬(wàn)千,其實(shí)亮點(diǎn)不在于這個(gè)問(wèn)題,這個(gè)問(wèn)題本身沒(méi)沒(méi)有什么特
為了這個(gè)問(wèn)題我專(zhuān)門(mén)寫(xiě)了一篇文章,請(qǐng)直接看文:
昨天在不經(jīng)意的瀏覽網(wǎng)頁(yè),突然收到了一個(gè)問(wèn)題回答的邀請(qǐng),看了這個(gè)問(wèn)題我不僅思緒萬(wàn)千,其實(shí)亮點(diǎn)不在于這個(gè)問(wèn)題,這個(gè)問(wèn)題本身沒(méi)沒(méi)有什么特殊,而這個(gè)問(wèn)題中的一些東西讓我產(chǎn)生了一系列聯(lián)想,這個(gè)問(wèn)題是這么問(wèn)的:“html5如何將表單數(shù)據(jù)提交到數(shù)據(jù)庫(kù)表的指定空格?”。
如果放在幾年前去看這個(gè)問(wèn)題,html/js怎么可能操作數(shù)據(jù)庫(kù)呀,這就是表單提交數(shù)據(jù)到數(shù)據(jù)庫(kù)的過(guò)程,你的回答則會(huì)是,這中間是需要經(jīng)過(guò)一系列過(guò)程的,比如同過(guò)form表單或者ajax將數(shù)據(jù)提交給web服務(wù)器,如果是java了就一般是jboss服務(wù)器或者tomcat之類(lèi)的,如果是phpweb服務(wù)的話,一般是nginx或者apache服務(wù)器,然后web服務(wù)器接到請(qǐng)求響應(yīng)之后將再交給具體的語(yǔ)言進(jìn)行解析,然后在接下來(lái)這些計(jì)算機(jī)語(yǔ)言將提交過(guò)來(lái)的字段做數(shù)據(jù)校驗(yàn)處理后,會(huì)將字段與數(shù)據(jù)庫(kù)字段做一一映射。
然后計(jì)算機(jī)語(yǔ)言通過(guò)數(shù)據(jù)庫(kù)提供的一些協(xié)議,與數(shù)據(jù)庫(kù)進(jìn)行連接,如jdbc協(xié)議,odbc協(xié)議,連上之后通過(guò)對(duì)數(shù)據(jù)庫(kù)的操作把數(shù)據(jù)存入數(shù)據(jù)庫(kù),然后計(jì)算機(jī)語(yǔ)言(php或者java等)把處理結(jié)果輸出交給web服務(wù)器,web服務(wù)器再把這些輸出返回給客戶(hù)端html頁(yè)面,到此為止實(shí)現(xiàn)了一個(gè)請(qǐng)求及相應(yīng)的整個(gè)過(guò)程,而這個(gè)過(guò)程中涉及的角色也比較多,如前端頁(yè)面,前端js,http協(xié)議,web服務(wù)器,后端服務(wù)計(jì)算機(jī)語(yǔ)言,數(shù)據(jù)庫(kù)協(xié)議等,這么多東西去實(shí)現(xiàn)了一次頁(yè)面數(shù)據(jù)的請(qǐng)求交互。
html5現(xiàn)在雖然很先進(jìn)了,但是他畢竟是前端語(yǔ)言(這里他說(shuō)的html5我想也有說(shuō)js的意思),如果用前端語(yǔ)言直接去訪問(wèn)數(shù)據(jù)庫(kù)的話肯定是不安全的呀,前端的js代碼是在客戶(hù)端里能看到的,誰(shuí)可能那么傻將數(shù)據(jù)庫(kù)連接地址賬號(hào)密碼暴露在客戶(hù)端,如果前端的語(yǔ)言設(shè)計(jì)成直接連數(shù)據(jù)庫(kù),我想那么設(shè)計(jì)者的思想肯定有問(wèn)題了,也許你會(huì)反駁,我明明看到網(wǎng)上有寫(xiě)著用js連接數(shù)據(jù)庫(kù)的方法呀,不信你看下圖內(nèi)容。
這段代碼看著的確是數(shù)js連接數(shù)據(jù)庫(kù)了,那這么就有幾種可能,第一這個(gè)js不是你理解的js,是后端的一種語(yǔ)言,比如nodejs是一種后端的js語(yǔ)言,那么它連接數(shù)據(jù)庫(kù)也是沒(méi)什么問(wèn)題的呀,這種情況是不會(huì)暴露數(shù)據(jù)庫(kù)地址的,第二種情況,這里的數(shù)據(jù)庫(kù)不是我們傳統(tǒng)意義上的數(shù)據(jù)庫(kù),不存在什么安全性問(wèn)題,如果真是前端js就能連接數(shù)據(jù)庫(kù)了,那么這樣的技術(shù)你敢用么?也就是說(shuō)不存在后端開(kāi)發(fā)了,所有業(yè)務(wù)邏輯都放在前端,然后用js寫(xiě)業(yè)務(wù)邏輯,js去連接數(shù)據(jù)庫(kù),那么這樣的產(chǎn)品還有什么安全可言,代碼豈不是都公布與眾了?雖然能用js混淆壓縮,但是還是可以反解壓不是么?只是成本問(wèn)題而已。
當(dāng)然,話有說(shuō)回來(lái),html5技術(shù)的確牛了許多,他實(shí)現(xiàn)了以前好多不能實(shí)現(xiàn)的東西,比如以前網(wǎng)站的驗(yàn)證碼只是一張圖片,圖片上寫(xiě)一個(gè)數(shù)字,然后就可以防止一些不法用戶(hù)的暴力請(qǐng)求,可是html5的技術(shù)誕生之后,這些簡(jiǎn)單的圖片驗(yàn)證碼已經(jīng)防止不了,現(xiàn)在市面上的網(wǎng)上已經(jīng)看不到這種驗(yàn)證碼了吧,都已經(jīng)改成手動(dòng)滑動(dòng),或者漢字順序點(diǎn)擊,或者各種找同類(lèi)型的等等花樣的驗(yàn)證碼,12306網(wǎng)站應(yīng)該是在這方面開(kāi)了先河吧,或者有的網(wǎng)站直接用手機(jī)驗(yàn)證碼作為驗(yàn)證碼了,這個(gè)主要是短信費(fèi)用的成本。
另外,市面上好多app并不一定是原生的app, 也就是用的不一定是android技術(shù)或者ios技術(shù),而是用的html5的技術(shù),可見(jiàn)html5的出現(xiàn)使前端地位在技術(shù)領(lǐng)域內(nèi)提高了不少,另外近來(lái)比較流行的小程序也是對(duì)html5技術(shù)的一些封裝,可見(jiàn)未來(lái)html5的作用將會(huì)越來(lái)越大。
即便如此,不論html5技術(shù)發(fā)展到什么地步,但是一些方向性問(wèn)題是不會(huì)變的,比如,用前端語(yǔ)言直接訪問(wèn)數(shù)據(jù)庫(kù)這個(gè)問(wèn)題是不太可能的,除非以后有一種非常強(qiáng)的不可破解加密技術(shù),那樣的話有可能會(huì)有這么一天。另外我想說(shuō)的在計(jì)算機(jī)世界里看著很炫酷的東西,用到的技術(shù)都是很樸實(shí)的,只不過(guò)計(jì)算機(jī)快速運(yùn)算加上程序員們邏輯的智慧才讓我們看到了這華麗的一切,就比如說(shuō)我們看到的動(dòng)畫(huà),一個(gè)白色小球在自由落體運(yùn)動(dòng),你真以為是這個(gè)小球在向下運(yùn)動(dòng)么?其實(shí)不是的,程序?qū)崿F(xiàn)的思路是先畫(huà)一張背景圖,然后再背景圖上畫(huà)一個(gè)白色的小球,然后再畫(huà)一張背景圖把原來(lái)的小球和背景給覆蓋掉,然后再畫(huà)一個(gè)小球在新的背景上(這次小球的位置比上次小球的位置略略向下一點(diǎn)),就這樣重復(fù)的繪制,在用戶(hù)的視覺(jué)里看到的小球在向下運(yùn)動(dòng),其實(shí)是程序在一張張的繪制圖片而已,這并沒(méi)什么高深的,其實(shí)任何技術(shù)的本質(zhì)上都是很質(zhì)樸的,包括你看到的一些黑科技,你覺(jué)得炫酷是因?yàn)槟悴涣私庠?,你一旦了解了原理你就?huì)發(fā)現(xiàn)原來(lái)也不過(guò)如此啊。
以上所有圖片均來(lái)之互聯(lián)網(wǎng)
大家好,我是“上世是朵花”。如果你有什么好的看法或者觀點(diǎn)可以在評(píng)論區(qū)展現(xiàn)你的才華,互動(dòng)交流,如果想進(jìn)一步了解我,那就關(guān)注我吧!
網(wǎng)友解答:您這個(gè)問(wèn)題涉及的知識(shí)點(diǎn)有后端開(kāi)發(fā)、有數(shù)據(jù)庫(kù),是完整Web開(kāi)發(fā)體系,我這里簡(jiǎn)要敘述你所要掌握的知識(shí)點(diǎn),你需要一定時(shí)間來(lái)學(xué)習(xí)。
首先,你得掌握一門(mén)后端語(yǔ)言開(kāi)發(fā)技術(shù),例如,php、java、.net等等,了解前端html的表單是如何和后端通信的、如何傳遞的;
之后掌握這個(gè)編程語(yǔ)言如何連接并操作數(shù)據(jù)庫(kù),說(shuō)白了就是對(duì)數(shù)據(jù)庫(kù)中的數(shù)據(jù)表做增刪改查的操作。
經(jīng)過(guò)以上兩步的修煉,你就可以將表單數(shù)據(jù)填入到數(shù)據(jù)庫(kù)表的對(duì)應(yīng)位置上了。
最后,希望本次回答對(duì)您有所幫助,有任何問(wèn)題歡迎關(guān)注、回復(fù),交流討論!