看板 PHP 關於我們 聯絡資訊
※ 引述《tkdmaf (皮皮快跑)》之銘言: : ※ 引述《ellyer (努力衝喔!!)》之銘言: : : 問題是 : : 我判斷是否按下按鈕的程式碼 一直跑不出來 : : echo "<form action=\"add_mem.php\" method=\"post\">"; : : echo "<font color=\"red\">此姓名已存在! 繼續新增? </font>"; : : echo "<input type=\"button\" name=\"yes\" value=\"是\">"; : : if(isset($_POST["yes"])) echo "yes"; else echo "..."; : : 這段程式碼已經參考過網路上面的了 : : 還是不明白為什麼抓不到按鈕按下去的動作... : 你可以這樣寫,這樣可以少寫很多的「\"」 : <?php : 一段php程式碼之後 : ?> : <form action="add_men.php" method="post"> : <font color="red">此姓名已存在!繼續新增?</font> : <input type="hidden" name="check" value="yes"/> : <input type="submit" value="是" /> : <?php : 接下去的動作...... : ?> : 不過這最終還不是個好辦法,畢竟php和html混在一起了。 : (不是你用echo來做就=不是html,只要echo他輸出的就是html,寫越多的echo,就 : 表示輸出越多的html,那根html和php混在一起寫這件事就沒什麼兩樣了。) : 你的問題最後是出在你是用type="button",而不是type="submit"。 : 所以按鈕沒有被送出。 上面兩種方法在我維護的程式中都看得到, 第一種原PO用的方式是我最不喜歡見到的, 第二種方式雖然好點, 可是還是不太喜歡看到, 因為有人寫的程式竟然可以if else一堆, 看到眼花都很難看出他的邏輯, 所以我還是推薦使用跟PHP分離的寫法, MVC的架構真的讓程式好維護很多。 回到原PO的問題, 如果我沒誤解你的問題, 你的問題應該是跟Ajax相關, 想要即時判斷有沒有按下按鈕, 請使用JavaScript, 想要不送出網頁就取回資料庫資料, 這就要用到Ajax的觀念了, 但是我承認, 其實我還是很看不懂原PO的問題。 如果不是要即時的作法, 那送出網頁, 判斷送出的按鈕值有沒有, 接著判斷資料庫裡面有沒有資料, 這樣應該就行了吧? 原po的程式我還看不到有問題的地方, 邏輯也跟我想的有點不一樣。 (剛剛忘了說: 其實我覺得如果要寫\"的寫法, 那倒不如最外面用'來改就不用這麼麻煩了。 echo 'form action="abc.php"';) -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 221.120.68.100 ※ 編輯: andreli 來自: 221.120.68.100 (03/25 10:29)
JeffMcBride:更直覺的方法 就是插入here document方式 03/25 14:23
tkdmaf:你會維護到是因為台灣一堆初學者書都這樣教。 03/25 14:57
tkdmaf:以前還有人嗆我:書上就是這樣教,難道書本教的會錯嗎? 03/25 14:57
tkdmaf:雖然很不想講說:雖然不算錯。但會非常難搞! 03/25 14:58
tkdmaf:然後我目前並沒有看到中文PHP的教學書籍有提到MVC的。 03/25 15:00
tkdmaf:遇到這種事能怪誰?怪一些出書只為賺錢的出版者吧。 03/25 15:00
ellyer:判斷按鈕按下的部分,JavaScript我知道可以用onclick 03/25 19:48
ellyer:只是之後還有資訊要呈現出來,所以不知道怎麼在javascript 03/25 19:49
ellyer:裡面去做,謝謝你的意見,我會學著將程式修改的有邏輯和效率 03/25 19:51
ellyer:關於ajax,其實對他很不熟悉,目前只有用在sorttable XD 03/25 19:51
ellyer:這部分也會多看點資料的 謝謝 :) 03/25 19:52