PHP 板


LINE

看板 PHP  RSS
※ 引述《dummytrue (就只是大叔而已)》之銘言: : 超新手發問: : 確認可以連結資料庫了 : 從phpmyadmin新增資料也可以順利顯示 : 可是從php就怎麼也寫不進去 : <FORM Action=addnew.php Method=POST> : <TABLE Border="1" bgcolor="#FFCC66" bordercolor="#FF9933" cellspacing="0"> : <TR><TD><font size="2">姓名:</font></TD> : <TD><font size="2"><INPUT Type="text" Size="30" Name="姓名"></font></TD></TR> : <TR><TD><font size="2">e-mail:</font></TD> : <TD><font size="2"><INPUT Type="text" Size="30" Name="e-mail"> : </font></TD></TR> : <TR><TD><font size="2">主題:</font></TD> : <TD><font size="2"><INPUT Type="text" Size="60" Name="主題"> : </font></TD></TR> : <TR><TD><font size="2">內容:</font></TD> : <TD><font size="2"><TEXTAREA Name="內容" Rows="8" Cols="60"> : </TEXTAREA></font></TD></TR> : </TABLE><INPUT Type="submit" Value="送出討論主題"> : </FORM> : 然後由這邊接: : Function chgStr($data) : { : $chgStr = "'" . str_replace("'", "''", $data) . "'"; : return $chgStr; : } : //將資料寫入資料庫 : $sql = "Insert Into maintitle (姓名, Email, 主題, 內容, 篇數, 發言日期) : Values ("; : $sql = $sql . chgStr($_REQUEST["姓名"]) . ","; : $sql = $sql . chgStr($_REQUEST["e-mail"]) . ","; : $sql = $sql . chgStr($_REQUEST["主題"]) . ","; : $sql = $sql . chgStr(nl2br($_REQUEST["內容"])) . ","; : $sql = $sql . 0 . ",'"; : date_default_timezone_set('Asia/Taipei'); : $sql = $sql . date("Y-m-j H:i:s") . "')"; : mysql_query($sql); : header("Location: index.php"); : 沒有全部貼出來 應該是這兩段有問題吧? 幾個地方要注意,有的比較重要,有的是coding style 1.所有的函式指令集一律使用小寫。不要有大小寫混用的情形: 例: 正確:echo、function 錯誤的style:Echo、ECHO、Function 雖然使用錯誤的style並不一定會有錯誤,但對看的人而言要不是覺得奇怪。 要不就是有格格不入的感覺。 2.資料庫指令集有很多php的書都是教用大寫。 這當然也是coding style的問題,但是對sql指令集來說我的習慣是要就全部大寫,要 就全部小寫,不要大小寫混在一起使用,就算他不會出錯也不好。 (其實我看到比較多的習慣是SQL指令集全大寫,欄位、資料才是用小寫) 3.$_REQUEST最好不要使用。 這東西是POST和GET都吃,那如果你表單也下name你設定post送出。 然後你的網址又帶name=xxx 雖然這樣取資料會是以表單的post為主。 那如果你的網址帶的參數是有意義的話參數就被消滅了。 該是post就用$_POST該是get就用$_GET 4.資料庫的欄位……正確的說除了資料本身資料庫的設定都不要用中文。 這個問題基本關乎中文編碼。就算你全部統一使用UTF-8做為你的編碼。 有關於資料庫的結構和指令集都不應該讓他出現中文。 這我該說做為一個程式設計師就算英文跟我一樣爛也實在不應該以中文做為程式碼 或是規劃資料庫的一部份。 不過話說回來,這種錯誤大概很多初學新手都會犯到使用中文。 當年我剛開始學MYSQL時,也幹過同樣的事。 後來就是自食惡果。 5.時區設定請寫在SERVER的PHP.INI設定中。如果是使用付費空間就請對方改。 基本上時區應該是全網頁一體適用。 如果說這是不能改的,那你最好祈禱你每次都記得設定時區,否則在做交易時可能 會因為時間上的錯誤導致交易異常。 也許現在的很多framework都有內置config來設定時區。 前提是你有在用。 儘可能將必要的設定做在server的設定檔中,而不是用程式中途去改。 除非是特別狀況(例如臨時上傳大檔案要臨時加大記憶體使用的空間) 6.無論如何,去了解一下關於php「魔術引號」這件事情。 7.date()格式,通常是Y-m-d或是Y-n-j,Y-m-j會變成下面這種情形: 2014年9月4日 Y-m-d => 2014-09-04 Y-n-j => 2014-9-4 y-m-j => 2014-09-4 你應該會覺得月份和日期感覺格格不入吧。 當然這是個人感覺style的問題。 其實大部份應該都算是設計風格上的問題。 畢竟你的程式是能正常運作的。 不過去改善這些事情對修改及維護會很有幫助。 --



※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 112.105.140.51
※ 文章網址: http://webptt.com/m.aspx?n=bbs/PHP/M.1411577487.A.2C7.html
1F:推 dummytrue: 喔喔 謝謝了 受益良多 09/25 13:00







like.gif 您可能會有興趣的文章
icon.png[問題/行為] 貓晚上進房間會不會有憋尿問題
icon.pngRe: [閒聊] 選了錯誤的女孩成為魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一張
icon.png[心得] EMS高領長版毛衣.墨小樓MC1002
icon.png[分享] 丹龍隔熱紙GE55+33+22
icon.png[問題] 清洗洗衣機
icon.png[尋物] 窗台下的空間
icon.png[閒聊] 双極の女神1 木魔爵
icon.png[售車] 新竹 1997 march 1297cc 白色 四門
icon.png[討論] 能從照片感受到攝影者心情嗎
icon.png[狂賀] 賀賀賀賀 賀!島村卯月!總選舉NO.1
icon.png[難過] 羨慕白皮膚的女生
icon.png閱讀文章
icon.png[黑特]
icon.png[問題] SBK S1安裝於安全帽位置
icon.png[分享] 舊woo100絕版開箱!!
icon.pngRe: [無言] 關於小包衛生紙
icon.png[開箱] E5-2683V3 RX480Strix 快睿C1 簡單測試
icon.png[心得] 蒼の海賊龍 地獄 執行者16PT
icon.png[售車] 1999年Virage iO 1.8EXi
icon.png[心得] 挑戰33 LV10 獅子座pt solo
icon.png[閒聊] 手把手教你不被桶之新手主購教學
icon.png[分享] Civic Type R 量產版官方照無預警流出
icon.png[售車] Golf 4 2.0 銀色 自排
icon.png[出售] Graco提籃汽座(有底座)2000元誠可議
icon.png[問題] 請問補牙材質掉了還能再補嗎?(台中半年內
icon.png[問題] 44th 單曲 生寫竟然都給重複的啊啊!
icon.png[心得] 華南紅卡/icash 核卡
icon.png[問題] 拔牙矯正這樣正常嗎
icon.png[贈送] 老莫高業 初業 102年版
icon.png[情報] 三大行動支付 本季掀戰火
icon.png[寶寶] 博客來Amos水蠟筆5/1特價五折
icon.pngRe: [心得] 新鮮人一些面試分享
icon.png[心得] 蒼の海賊龍 地獄 麒麟25PT
icon.pngRe: [閒聊] (君の名は。雷慎入) 君名二創漫畫翻譯
icon.pngRe: [閒聊] OGN中場影片:失蹤人口局 (英文字幕)
icon.png[問題] 台灣大哥大4G訊號差
icon.png[出售] [全國]全新千尋侘草LED燈, 水草

請輸入看板名稱,例如:BabyMother站內搜尋

TOP