台灣最大程式設計社群網站
線上人數
887
 
會員總數:245247
討論主題:189105
歡迎您免費加入會員
討論區列表 >> PHP >> 表單傳送接收問題
[]  
[我要回覆]
1
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
表單傳送接收問題
價值 : 30 QP  點閱數:649 回應數:11

樓主

惟欸
門外漢
0 20
188 30
發送站內信

捐贈 VP 給 惟欸
小弟一直都不知道怎麼解決
為何填完資料而無法顯示"報名成功"的字樣 都只顯示數字1(好像都是資料庫這邊的ECHO)
困擾小弟許久
參考許多影片和資料 仍然沒解
不知是不是要改資料庫這邊?還是有加


小弟貼了感覺有問題的code
41~71顯示不出來"報名成功"或者轉換頁面




改了轉換頁面依然不行

再請各位好手
替小弟解決
謝謝







搜尋相關Tags的文章: [ 傳送接收 ] ,
本篇文章發表於2016-02-25 20:45
別忘捐VP感謝幫助你的人 新手會員瞧一瞧
1樓
最有價值解答

皮皮快跑
檢舉此回應
我先就幾個程式設計原則給你一些觀念。
在你為了目前的bug煩惱之前,最好先就這些觀念改過了你的code之後再來解決你的問題。
1.學習去寫功能,也就是function。把每個功能先就function獨立起來,你才好去debug你的問題。
2.不論if、for、while或是其他有「程式段」的東西,最多只接受二層,一但有第三層你就要考慮抽出來寫成function。

像這樣已經三層了,你該考慮是最內一層包成function還是最內二層包成function。
目前一些比較好的IDE在你包太多層時就會警告你這已經不是一個好維護的結構了。
3.相同(或類似)的程式碼就應該要提取出來包成函式(或是物件功能)。這就是基本程式設計原則的:函式提取。
4.學習寫function,但要僅記一個function也僅僅只包括做一個功能,不要把複雜的東西全都包在一個function,這就是基本程式設計原則的:單一職責。
5.只有先做到函式提取和單一職責,我們才有好好討論debug的空間,這也是未來若學習到單元測試所必須的最基本要件。
6.任何人,是的,我是說任何人。在你已經就問題問這麼多次還是只處在幫你找bug解決你當下的問題,這絕對不是在幫你。
最多只是表達出了他們自己解出你bug的優越感。這幫不到你,你要思考的是最根本的設計結構的問題。
如果你理解這些事情的重要性,你自己就會學習怎麼去做一個良好的debug,這會讓你問題變得非常非常少。
7.無論如何,請仔細耐心的看完上述幾點,並且仔細而耐心的去重構你的程式碼。是的,這邊也就是在告訴你「重構」這件事的重要性。
本篇文章回覆於2016-02-25 22:22
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
2樓
不錯的參考

彩虹
檢舉此回應
如果你說都只顯示數字1,不妨先把$num_row先印出來看看
本篇文章回覆於2016-02-26 09:31
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
3樓
不錯的參考

彩虹
檢舉此回應
就如皮皮所說:「幫你找bug解決你當下的問題,這絕對不是在幫你」
除了要重構外,你還需要花多時間去了解程式是如何運作

為何填完資料而無法顯示"報名成功"的字樣 都只顯示數字1(好像都是資料庫這邊的ECHO)

妳的41行,按鈕type為submit,當您和下按鈕等於會直接送出表單,造成javascript的post()執行完/未執行完,便直接透過<form action="userInfo.php"....>送出表單至userInfo.php頁面(不是透過AJAX POST),所以你會不斷看到顯示1(或者0)

你可試試看把type改成="button",你就大概知道我說什麼了


另外裡面還有很多大的問題,我不知道要如何使用文字來幫你debug
因為整個架構是很雜的


本篇文章回覆於2016-02-26 10:22
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
4樓
不錯的參考

皮皮快跑
檢舉此回應
我是比較好奇第1段第27行的:

這個空的else是怎麼回事?????

再來看到的是第1段第5行的:

這個where 1又是怎麼回事?
(where 1那就不用where了啊!)

簡單來說,寫程式如果都是用你這樣的「從頭到尾」式寫法,你很難去找出bug。
因為你沒有一個功能一個功能的去驗證他的功能是不是正確的。
如果解一個bug要po出一整段或是全部的程式碼,基本上這根本就不是正確的做法。
而且對看的人來說,如果你的code到他手上,他大概會覺得砍掉重寫還比較快。
我還是期望在於你把你的code都重新架構過。
並且能夠先測試好每一個階段的功能是不是都正常運作。
相信我,你如果這樣去改善結構。
必然會發現到底是那個環節出了問題。
問題應該是要由複雜→簡單化。
把事情一個單位一個單位的分開處理,你才會覺得寫程式是件很簡單而不需要擔心問題的事。
本篇文章回覆於2016-02-26 10:57
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
5樓
不錯的參考

浩瀚星空
捐贈 VP 給 浩瀚星空 檢舉此回應
各位好像都沒注意到一個重點。

他的ajax的接收格式datetype是宣告json。
但是他的輸出只有單純的0或1,非json格式

這樣當然永遠都不會判斷成功了啊~~~
因為不是json。沒辦法判斷啊。


==============================================
另給惟欸 一段話

我想知道你現在用的是何種編輯器做開發。
雖然皮皮已經有跟你說了很多。你之前一些發問我也有提醒一些事。
不過我發覺你好像都沒聽進去的感覺。
我希望你先學會「如何排版」跟簡單的「除錯判斷」。

如果我沒猜錯,你因該是用dw當編輯器吧。建議你改掉。
本篇文章回覆於2016-02-26 14:47
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
6樓
不錯的參考

皮皮快跑
檢舉此回應
@星空:
早就注意到了,但是我不想或是不喜歡太直接的明講各式各樣的問題。
你懂我的……我主要喜歡引導走入一個正確的設計方向而不是就這樣直接給答案。
根本上的結構問題恐怕還是得從根本上來解決就是了。

惟欸他要是在現在這個階段就開始正視這些問題。
對他後續會比較有幫助。

通常要我真切的去po程式碼……那通常會是我真的要去說明一些東西的時候。
然後其實從每個人所羅列出的程式碼範例,常常都可以看出這個人寫code的風格和習慣。
包括排版………

而且通常我自己會比較習慣去提供自己寫出來的範例……起碼自己知道那東西能跑。
本篇文章回覆於2016-02-26 15:14
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
7樓
不錯的參考

彩虹
檢舉此回應
我也找就注意到了...
但是我也沒有要一次講完,因為他的問題真的太多了...

甚至在AJAX最好也補上,才能抓錯誤
本篇文章回覆於2016-02-26 15:28
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
8樓
不錯的參考

彩虹
檢舉此回應
樓主說
為何填完資料而無法顯示"報名成功"的字樣 都只顯示數字1(好像都是資料庫這邊的ECHO)
因為畫面100%是從form透過action導到userInfo.php頁面(頁面已經整個跳轉過來這個php了),然後才會看到1(或者0)
所以在第一步出現問題,就不再繼續談他的AJAX

只能先提醒他
type改成="button",不要用submit
本篇文章回覆於2016-02-26 15:43
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
9樓
不錯的參考

浩瀚星空
捐贈 VP 給 浩瀚星空 檢舉此回應
ok~~~我了解彩虹的意思了。

這倒是我沒注意到的地方。

因為他已經SUBMIT了。所以根本不會跑ajax。它已經直接發送連結過去了。
因為有注意到它用了onsubmit所以倒也沒注意那麼多。

仔細看一下他的程式碼。雖然有做了onsubmit。不過並沒去中斷它的發送。
所以它還是會submit出去了。然後就轉頁過去了。

我咧.......
果然是錯誤一堆。連帶我也沒辦法注意到不該犯的錯誤。
真傷腦筋。

to:惟欸
你要不要重新理解一下所有的程式段,然後花時間一個一個打。不要用拷貝貼上。
並了解上面的人跟你說的事呢??

你的問題要提東就得提西,要提西就得要再說明南北。沒完沒了。
整個就是一個大拼盤,然後不知所謂何物的情況。
你還是重新重建吧。
本篇文章回覆於2016-02-26 17:34
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
10樓
不錯的參考

皮皮快跑
檢舉此回應
@惟欸:
我把你的東西,做出重構整理。
我希望你看到的,是怎麼樣讓一個複雜的code經過重構的動作之後。
讓code變成不再複雜。
或許你會從當中看到所謂「解決方法」。
但解決方法並不是我要教你的課題,重新架構好你的程式碼才是課題所在。
所以這個code也只是個重構後的範例,他能執行。但並不是你最終想要的成果。
因為後續的成果你必須自己去完成他,而不是我替你完成。
這當中有些js和html的設置上的問題如果你不清楚,希望你好好把html和jquery的東西再好好學習起來。

userInfo.php的內容很簡單,就只是一個傳回json格式的輸出。資料庫該怎麼去做這就要靠你自己了。


其實你這些東西如果真的是要用ajax去做,連form都可以拿掉就是了。
不需要依賴從form出去的action而是直接設定button就好。
那為什麼還要保留form?就只是為了reset而已。
本篇文章回覆於2016-02-26 19:13
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
11樓
作者回應

惟欸
捐贈 VP 給 惟欸 檢舉此回應
謝謝各位好手給予指教
小弟剛接觸這一些CODE 也會慢慢的去深入了解

給大家添這麼多的問題 感到抱歉

也謝謝大家的指教

本篇文章回覆於2016-02-27 10:38
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
   
1

回覆
如要回應,請先登入.