看板 PHP 關於我們 聯絡資訊
各位大大 小弟遇到一個小問題,就是在判斷某一值會跳出 一個警告視窗,如按確定就執行寫入資料庫,而 取消就什麼都不做,程式如下: <script> if(confirm("是否要存檔")){ //insert $sql_query = "INSERT INTO award(CreateAt,RangeDays,current_falg) values( $now_time','$RangeDays','1')"; $result = mysql_query($sql_query);?>"); }else{ document.location.href="index.php"; } </script> 但是發現不管點確定或是取消都會執行到存檔,不知道有沒有更好的辦法呢? -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 220.130.137.47 ※ 文章網址: https://www.ptt.cc/bbs/PHP/M.1432312230.A.102.html
alog: client端的source code跟server端的要分開寫 05/23 00:42
rjackie: 您是指用函數的方式嗎? 05/23 00:46
alog: 在全部寫在一起的情況下 php 的程式碼不會因為client 做什 05/23 00:47
alog: 麼條件就會有不同的執行結果 05/23 00:47
alog: 對php的直譯器而言 你用的任何html只是文字輸出 05/23 00:49
rjackie: 呵呵我懂您的意思了,觀念錯誤 感謝提醒 05/23 00:49
alog: 會影響的只有<?php ?>的部分 05/23 00:49
alog: 你可以對網址帶參數 或是ajax或html form 去執行你的php 05/23 00:50
rjackie: 因為這是有帶POST的傳值,如果是用GET的方式會帶很非常多 05/23 00:54
rjackie: 參數 05/23 00:54
alog: 用form 然後當沒有confirm時就阻止form的submit 05/23 00:58
rjackie: 比較麻煩的部份是,submit檔過一次,只是要再傳值後再判 05/23 00:59
rjackie: 斷一次 05/23 00:59
rjackie: 或是說部份是已收到值後的判斷 05/23 01:00
alog: 通常後端的驗證是必要的 前端的驗證可以不用處理太細 05/23 01:01
alog: 又或者 05/23 01:01
alog: 你可以利用序列化的方式 05/23 01:02
alog: 將變數資料整理成一個字串 05/23 01:02
alog: 一種是serialize 一種是json_encode 05/23 01:03
alog: serialize可以存比較複雜的資料 05/23 01:04
rjackie: 感謝您的指導,我來研究看看序列化的方式 05/23 01:05