快速連結

2010年10月3日

判別$_POST['XXX']是否存在

情況:這次由於要使用「同一頁面讀取 form 內資料」這個寫法,所以才會出現這種困擾!

意思大概就是:


xxx.php:

<form action="xxx.php" method="post" name="from1">
  <input maxlength="64" name="txt" type="text" />
  <input type="submit" value="輸入" />

 </form>
<?php
echo ("你輸入為:".$_POST['txt']);
?>



這樣子的意思...

但我希望第一次進入 就顯示的是:"請輸入以上資料!!"

可是...使用if ($_POST['txt'] != "") 這種判別式似乎有問題...

那麼....可以使用isset嗎?

老實說,個人使用後 發現這沒用!(咦?)

不過還是告訴大家一下...(以下程式碼是COPY於CSDN論壇中,一位helloyou0的人的><)
注意一下empty和isset是不同的,

如果


$_POST['tilt']='';

isset($_POST['tilt'])         ===>   true;
empty($_POST['tilt'])         ===>   true;

unset($_POST['tilt']);

isset($_POST['tilt'])         ===>   false;
empty($_POST['tilt'])         ===>   true;

懂了嗎?

但是isset還是會讓頁面跟你說掰掰~!!!(RUN一次就會了解了!!)

所以我使用了...這個方法:


if(array_key_exists('txt',$_POST))
{
echo ("你輸入為:".$_POST['txt']);
}else{
echo ("請輸入以上資料!!");
}

這樣子就可以判別了!

不過會不會造成甚麼後遺症我還沒試出來@3@"

還請各高人指教!!!!

沒有留言:

張貼留言

歡迎大家留言提問,我會答的都會盡力回答!
如果太久沒出現回應就是我又忘記回來看留言了TAT