作者takumix ( )
看板Ajax
標題[ js ] confirm內執行sql句
時間Thu Jul 22 11:21:33 2010
功能: 在編修資料後,系統跳出一個詢問視窗,詢問使用者是否要將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
1F:→ Darkland:等看到confirm的時候 紅色的php語法早就執行過了吧@@ 07/22 11:28
2F:推 JYHuang:你要不要先搞清楚前端程式跟後端程式的差別.... 07/22 11:30
3F:→ evernever:很怕你最後把sql塞在js裡送給php...這樣就..XD 07/22 11:45
4F:→ takumix:不好意思我對語法沒有很熟悉,所以該怎麼做才是對的呢? 07/22 11:51
5F:→ mosluce:Ajax 07/22 12:34
6F:→ adahsu:初學者真的很常把前、後端的作業搞混啦... XD 07/22 17:01
7F:→ foreverangle:如果你前端可以下sql語法...送給php處理...那delete. 07/22 19:40
8F:→ foreverangle:你可以用php去包script 不能用script去包php 07/22 19:43
9F:→ takumix:所以這個部分應該怎麼改寫, 才會是我想要的功能呢? 07/23 13:28
10F:→ takumix:是不是程式邏輯應該沒錯, 但只是是語法弄錯了? 07/23 13:29
11F:→ foreverangle:php去server端... javascript是client端...要先搞懂 07/23 15:53
12F:推 shadowjohn:前端能跟後端溝通就那幾個方法~get、post~ 07/24 03:10
13F:→ shadowjohn:流程是可以這麼寫,但你可以傳個傳給後台叫後台去作 07/24 03:10
14F:→ shadowjohn:你不能用前台來決定要「直接執行」哪些後台的語言 07/24 03:11
15F:→ shadowjohn:如果不想改太多,可以考慮用用 ajax的 async模式~ 07/24 03:13
16F:→ TonyQ:你沒有把最重要的前後端觀念建立起來,那對你來講這個功能是 07/24 12:57
17F:→ TonyQ:有點難就你目前的情形去處理的...:3 07/24 12:57
18F:→ TonyQ:這不是語法的問題,而是把環境跟執行的流程弄錯了。 07/24 12:57