作者LPH66 (ha(ruhi|yate)ism)
看板PHP
標題Re: [請益] 用 form 傳值與 isset 的問題
時間Fri Jun 15 20:27:08 2007
※ 引述《pael (就是喜歡)》之銘言:
: 我想請問一下 在 php 中用 form 傳變數時是否會有初始值呢?
: 還是是因為 <input type=text> 之類的標籤有初始值
: 我剛使用 form 傳值後再以 isset 去做 if 判斷
: 發現了個怪現象 即使沒有輸入任何東西在 input box 內
: 傳回的 isset 仍然是"1" 這是正常的嗎?
: 那我該怎麼判斷是否有輸入資料呢?感激不盡!
: 測試的程式碼如下:
<code恕刪>
這應該是瀏覽器在傳值時是把它當成「值為空的變數」而非「沒有這個變數」
如果你改用GET你會看到所傳的GET網址是這樣:
test.php?input=
所以isset還是會回傳true
(而且欄位都在那裡了 不傳好像有點給它怪怪的...)
如果你要判斷該格有沒有值可以將它和空字串比較
是空字串就表示沒有輸入
--
有人喜歡邊
玩遊戲邊
上逼;
也有人喜歡邊
聽歌邊
打字。
但是,我有個請求,
選字的時候請
專心好嗎?
-- 改編自「古 火田 任三郎」之開場白
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 192.192.197.116
推 foxzgerald:可參考 empty(),如:if(isset($var) && empty($var)) 06/15 20:54
推 knockout:if($var != '') 06/15 21:52
→ knockout:一樓的應該是降子寫 if(isset($var) && !empty($var)) 06/15 21:53
推 foxzgerald:多謝指正 :) 06/16 00:52
推 pael:大大的感謝各位,問題已解決了! ^^ 06/17 14:20