作者tyc5116 (累人啊....)
看板Ajax
標題[問題] 透過function新增資料
時間Sat Jun 18 22:26:11 2011
最近剛學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
1F:推 mrbigmouth:.......<?怎麼會寫在function裡面? 06/18 22:27
2F:→ mrbigmouth:而且$_POST不會傳到function裡面 內外變數是獨立的 06/18 22:27
3F:→ mrbigmouth:要用global $_POST或者把變數丟進去才行 06/18 22:27
4F:→ mrbigmouth:哎呦媽呀我的天 你這寫法是打算用onclick呼叫php fn? 06/18 22:29
5F:→ mrbigmouth:照這樣寫還真的可以讓你呼叫成功...但那是function啥被 06/18 22:30
6F:→ mrbigmouth:當成廢棄html語法的關係.... 06/18 22:30
7F:→ tyc5116:有試過把變數丟進去,不過試不出來... 06/18 22:32
8F:→ mrbigmouth:把$_POST[str]改成$_POST['str']應該就行了 06/18 22:32
9F:→ mrbigmouth:不過你需要的應該是重新讀一次入門教學.... 06/18 22:32
10F:→ tyc5116:改了,但還是不行,換作是m大寫,這個功能怎樣寫會比較合適呢 06/18 22:35
11F:推 mrbigmouth:你確定表單裡面有name="str"的欄位嗎? 06/18 22:36
12F:推 mrbigmouth:而且你這樣寫跟ajax沒有半點關係.... 06/18 22:38
13F:→ tyc5116:OK了,結果只是測試時忘了欄位打資料@@,<?寫在fun內很怪嗎? 06/18 22:39
14F:→ tyc5116:不然怎麼寫會比較合適? 06/18 22:40
15F:推 mrbigmouth:.......我不知道該說什麼 我只能說 你能插入成功完全 06/18 22:40
16F:→ mrbigmouth:是誤打誤撞的關係....XDrz 06/18 22:40
17F:→ mrbigmouth:真的 你需要的是重新看幾遍入門教學.... 06/18 22:40
18F:→ tyc5116:恩...了解了,謝謝 06/18 22:51