[問題] 透過function新增資料

看板Ajax作者 (累人啊....)時間14年前 (2011/06/18 22:26), 編輯推噓4(4014)
留言18則, 2人參與, 最新討論串1/1
最近剛學PHP,有很多地方不是很熟,還請多多指教 請問,我要透過function,將資料寫入資料庫內 但是中文的部份都寫不進去,程式碼大致如下 function InsertMemberData(){ <? mysql_query("SET NAMES 'utf8'"); $file=mysql_query($referstr,$mysql); $id=mysql_num_rows($file); ++$id; $insertstr="insert into member(memberid,name,research,mail,status) value(".$id.",'".$_POST[str]."','b','c','d')"; 問題在這裡 mysql_query($insertstr,$mysql); ?> } <form name="memberinformation" method="post"> <input type="submit" name="insertdata" value="新增資料" onclick="InsertMemberData()" /> </form> 紅色部份是我拿來測試的,這部份有幾個問題 1.form沒有設定action,意思是我想功能都在這個頁面完成,但是看到的幾本書 都是將資料傳送至其它頁面,然後在其它頁面完成功能,請問一定要這樣嗎? 如果沒有的話,那我form的部份有錯誤嗎? 2.如同上面紅色部份,資料可寫入資料庫,但第二個欄位會空白,直接寫入寫的進去 但以_POST傳入資料則會空白,請問我該怎麼改呢? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 111.253.58.56

06/18 22:27, , 1F
.......<?怎麼會寫在function裡面?
06/18 22:27, 1F

06/18 22:27, , 2F
而且$_POST不會傳到function裡面 內外變數是獨立的
06/18 22:27, 2F

06/18 22:27, , 3F
要用global $_POST或者把變數丟進去才行
06/18 22:27, 3F

06/18 22:29, , 4F
哎呦媽呀我的天 你這寫法是打算用onclick呼叫php fn?
06/18 22:29, 4F

06/18 22:30, , 5F
照這樣寫還真的可以讓你呼叫成功...但那是function啥被
06/18 22:30, 5F

06/18 22:30, , 6F
當成廢棄html語法的關係....
06/18 22:30, 6F

06/18 22:32, , 7F
有試過把變數丟進去,不過試不出來...
06/18 22:32, 7F

06/18 22:32, , 8F
把$_POST[str]改成$_POST['str']應該就行了
06/18 22:32, 8F

06/18 22:32, , 9F
不過你需要的應該是重新讀一次入門教學....
06/18 22:32, 9F

06/18 22:35, , 10F
改了,但還是不行,換作是m大寫,這個功能怎樣寫會比較合適呢
06/18 22:35, 10F

06/18 22:36, , 11F
你確定表單裡面有name="str"的欄位嗎?
06/18 22:36, 11F

06/18 22:38, , 12F
而且你這樣寫跟ajax沒有半點關係....
06/18 22:38, 12F

06/18 22:39, , 13F
OK了,結果只是測試時忘了欄位打資料@@,<?寫在fun內很怪嗎?
06/18 22:39, 13F

06/18 22:40, , 14F
不然怎麼寫會比較合適?
06/18 22:40, 14F

06/18 22:40, , 15F
.......我不知道該說什麼 我只能說 你能插入成功完全
06/18 22:40, 15F

06/18 22:40, , 16F
是誤打誤撞的關係....XDrz
06/18 22:40, 16F

06/18 22:40, , 17F
真的 你需要的是重新看幾遍入門教學....
06/18 22:40, 17F

06/18 22:51, , 18F
恩...了解了,謝謝
06/18 22:51, 18F
文章代碼(AID): #1D_BM62R (Ajax)
文章代碼(AID): #1D_BM62R (Ajax)