[ js ] confirm內執行sql句

看板Ajax作者 ( )時間15年前 (2010/07/22 11:21), 編輯推噓2(2016)
留言18則, 9人參與, 最新討論串1/1
功能: 在編修資料後,系統跳出一個詢問視窗,詢問使用者是否要將UNIT的資料變更 為H_UNIT,若按下"確定",寫回資料庫;若按下取消,回到原修改頁面。 --- 我的寫法 --- <script language = "javascript"> if (confirm ("是否要將「<? echo $UNIT;?>」更改為「<? echo $H_UNIT;?>」?")) { <? $sql = "UPDATE TABLE SET H_UNIT='$H_UNIT' WHERE UNICOD='$UNICOD'"; odbc_exec($connect,$sql);?> alert("修改成功!"); parent.location = 'modify.php'; exit(); } else { parent.location = 'modify.php'; } --- 問題 --- 這樣的寫法,按下"確定"後雖然會成功寫回資料庫,但是若按下"取消"時,雖然會回 到原本的修改畫面,但是資料仍會寫回資料庫內。懷疑是不是紅色字中SQL句的問題, 好像不管點"確認"或"取消",那段SQL句都會執行... -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.47.132.144

07/22 11:28, , 1F
等看到confirm的時候 紅色的php語法早就執行過了吧@@
07/22 11:28, 1F

07/22 11:30, , 2F
你要不要先搞清楚前端程式跟後端程式的差別....
07/22 11:30, 2F

07/22 11:45, , 3F
很怕你最後把sql塞在js裡送給php...這樣就..XD
07/22 11:45, 3F

07/22 11:51, , 4F
不好意思我對語法沒有很熟悉,所以該怎麼做才是對的呢?
07/22 11:51, 4F

07/22 12:34, , 5F
Ajax
07/22 12:34, 5F

07/22 17:01, , 6F
初學者真的很常把前、後端的作業搞混啦... XD
07/22 17:01, 6F

07/22 19:40, , 7F
如果你前端可以下sql語法...送給php處理...那delete.
07/22 19:40, 7F

07/22 19:43, , 8F
你可以用php去包script 不能用script去包php
07/22 19:43, 8F

07/23 13:28, , 9F
所以這個部分應該怎麼改寫, 才會是我想要的功能呢?
07/23 13:28, 9F

07/23 13:29, , 10F
是不是程式邏輯應該沒錯, 但只是是語法弄錯了?
07/23 13:29, 10F

07/23 15:53, , 11F
php去server端... javascript是client端...要先搞懂
07/23 15:53, 11F

07/24 03:10, , 12F
前端能跟後端溝通就那幾個方法~get、post~
07/24 03:10, 12F

07/24 03:10, , 13F
流程是可以這麼寫,但你可以傳個傳給後台叫後台去作
07/24 03:10, 13F

07/24 03:11, , 14F
你不能用前台來決定要「直接執行」哪些後台的語言
07/24 03:11, 14F

07/24 03:13, , 15F
如果不想改太多,可以考慮用用 ajax的 async模式~
07/24 03:13, 15F

07/24 12:57, , 16F
你沒有把最重要的前後端觀念建立起來,那對你來講這個功能是
07/24 12:57, 16F

07/24 12:57, , 17F
有點難就你目前的情形去處理的...:3
07/24 12:57, 17F

07/24 12:57, , 18F
這不是語法的問題,而是把環境跟執行的流程弄錯了。
07/24 12:57, 18F
文章代碼(AID): #1CHxb01t (Ajax)
文章代碼(AID): #1CHxb01t (Ajax)