Anonymous
Anonymous asked in 電腦與網際網路程式設計 · 1 decade ago

php判斷欄位是否為空!!

以下是判斷是否為空的php程式...

<?

$id = (isset($_POST['id']) ? $_POST['id'] : '');

$pwd = (isset($_POST['pwd']) ? $_POST['pwd'] : '');

if(!empty($id) && !empty($pwd)){//

header('Location:loguser.php');

}else{

header('Location:login.php'); //有空值則返回

}

?>

我想讓有空值返回變成有空值時出現文字提示!

請各位高手幫我改!

Update:

可以用我上面說的嗎

就是可以利用文字提示就行了^^!

Update 2:

然後完成之後再到 loguser.php

Update 3:

您給的這個語法

else{

echo "< meta HTTP-EQUIV=\"refresh\" CONTENT=\"給對方看幾秒\";URL=\"你要導去的網址\"> ";

echo "欄位值空喔,請重新輸入";

}

是要判斷哪個欄位值空

Update 4:

是否可以單純的將

改為文字提示

Update 5:

$id = (isset($_POST['id']) ? $_POST['id'] : '');

$pwd = (isset($_POST['pwd']) ? $_POST['pwd'] : '');

if(!empty($id) && !empty($pwd)){//

header('Location:loguser.php');

}else{

header('Location:login.php'); //有空值則返回

}

Update 6:

不需要看幾秒和導入哪個網頁

單純提示文字即可 謝謝

Update 7:

TO ioisamu

我不曉得要把這個放到哪裡呢!

因為我放都出現錯誤

if(!$_POST['pwd']){

echo "密碼不得為空!!!";

}ELSE{ECHO $_POST['pwd']; }

}

Update 8:

要放在

$id = (isset($_POST['id']) ? $_POST['id'] : '');

$pwd = (isset($_POST['pwd']) ? $_POST['pwd'] : '');

if(!empty($id) && !empty($pwd)){

header('Location:loguser.php');

}else{

header('Location:login.php');

}

的哪裡? 謝謝

Update 9:

TO 說走就走

這個辦法不錯!成功

Update 10:

TO ioisamu

希望麻煩您幫我放入一下 非常謝謝

Update 11:

TO ioisamu

有沒有比如說id欄位值空

就用echo "帳號沒填喔";    提示

密碼pwd欄位值空

就用 echo "密碼沒填喔";    提示

Update 12:

TO 加藤浣"雄

就是我想要的

5 Answers

Rating
  • 1 decade ago
    Favorite Answer

    <?

    if((!empty($_POST['id']) && !empty($_POST['pwd']))){

    header('Location:loguser.php');

    }elseif(!empty($_POST)){

    if(empty($_POST['id'])){

    $error['id'] = 'error';

    }

    if(empty($_POST['pwd'])){

    $error['pwd'] = 'error';

    }

    }

    ?>

    <form method="post">

    <input type="text" name="id" />

    <?php

    if(!empty($error['id'])){

    echo "帳號不得為空!!!";

    }

    ?>

    <br />

    <input type="password" name="pwd" />

    <?php

    if(!empty($error['pwd'])){

    echo "密碼不得為空!!!";

    }

    ?>

    <input type="submit" name="s" value="submit" />

    </form>

    我寫好這個範例給你了!

    參考看看吧!我自己已測過了

    2008-01-26 11:44:30 補充:

    = =

    前面那一段就完完全全是用來做輸入的判斷

    沒那一段程式碼就不能跑了啊

    = =

  • 1 decade ago

    $Variable = Array(

    "id" => "帳號",

    "pwd" => "密碼"

    );

    $Pass = true;

    foreach ($Variable as $Key => $Value ){

    if (!isset($_REQUEST[$Key])){

    echo $Value."沒填喔";

    $Pass=false;

    break; //如想顯示全部沒填欄位請拿掉即可!

    }else{

    $$Key=$_REQUEST[$Key];

    }}

    if ($Pass){

    ----- code -----

    }

    我比較慣用REQUEST請自行變換。

  • 1 decade ago

    $id = (isset($_POST['id']) ? $_POST['id'] : '');

    $pwd = (isset($_POST['pwd']) ? $_POST['pwd'] : '');

    if(empty($id)){

    echo " 您的帳號未填寫! ";

    }elseif(empty($pwd)){//

    echo " 您的密碼未填寫! ";

    }else{

    header('Location:loguser.php');

    exit;

    }

    ?>

  • 1 decade ago

    呵,我想可以這麼做

    else{

    echo "< meta HTTP-EQUIV=\"refresh\" CONTENT=\"給對方看幾秒\";URL=\"你要導去的網址\"> ";

    echo "欄位值空喔,請重新輸入";

    }

    建議使用javascript在submit之前先驗證空格。^_^

    語法ex,你前面設的name or id 一定有一個叫做id吧

    以id為例

    if(doucument.all("id").value.length==0)

    alert("空白")

    2008-01-25 16:53:11 補充:

    呵,上面這個範例是不好但是簡單的作法

    如果是各大網站的最常用的方法是多個div或是其他的lable去秀*

    警示錯誤^_^

    2008-01-25 18:51:27 補充:

    呵,樓下的挺聰明,LOAD回去以後再秀

    我只用看的應該沒猜錯吧^_^"

    這個是替代JS更好的一種方法

    if(!$_POST['pwd']){

    echo "密碼不得為空!!!";

    }ELSE{ECHO $_POST['pwd']; }

    這樣子就更好了

    為了什麼原因要多一個陣列出來存呢^_^

    2008-01-26 00:43:29 補充:

    呵 沒有想到你問那麼多問題

    說走就走的方法的確是目前最好的方法 ^_^

    只不過程式碼好像寫得比較囉唆一點,也對,有時候程式不能寫得太明白

    ^+^"

    明天如果他沒有改的話,我再幫你改,呵

    先提示你他一開頭做了是否得到值得判斷

    然後存到變數裡面

    他在你的文字框內設計如果沒有得到值(也就是空),就將文字框裡面的文字改成"帳號不得為空",我不曉得屬性PASSWORD秀文字會秀什麼出來

    我補的那段表示如果其中一個有值,就秀出上次的值,另一個空的就秀

    "不得為空" 以上^_^

    2008-01-26 00:49:01 補充:

    呵,不曉得說走就走會不會憤怒,說那段程式碼很囉唆,其實我覺得前面都可以刪掉,但我覺得或許有什麼用意,所以補充問他一下

    這個問題可以結案了^_^

    2008-01-26 00:51:18 補充:

    對不起,Orz線上客服 ,我覺得你沒有解決到什麼東西.很抱歉一值沒提到你^_^".別生氣.事實上你可能是忘了這篇^_^"

    2008-01-26 00:57:17 補充:

    if(!empty($id) && !empty($pwd)){

    header('Location:loguser.php');

    }else{

    echo....;

    echo "欄位值空喔,請重新輸入";

    //你原本的 header('Location:login.php'); //有空值則返回

    }

    2008-01-27 00:25:32 補充:

    回樓下^_^

    這樣阿,喔,我想你只是想比較神秘一些

    我覺得這次回答有從你身上學到一些東西

    回樓主,呵你說的那個就是說走就走寫的阿

    詳情請問他喔,我的已經補充在意見了,很可惜來不及了解你的意思

    不過沒關係,下次有機會再回答你好了^_^

    2008-01-27 00:31:23 補充:

    再解釋一下

    把我在回答中的那段換到你的這段ELSE之間應該是可以執行的

    ^_^" 不曉得為什麼要回答這種已經很久沒有用的用法,剛好前幾天回答過別人,大概是一看以為你和他是一樣的問題嘍

    呵,你還是可以參考,我猜你一陣子可能會用到(特別當你的網站被禁止,或是你開新站要導站的時候)

    更特別在iframe中更是好用的不得了喔

    2008-01-27 00:33:24 補充:

    不過會了ajax後,除了導站外,這種用法就慢慢被替代掉了

    大概就這樣嘍,祝愉快

    2008-01-27 00:39:57 補充:

    !empty($error['pwd'])

    改成->

    !$_POST['id']

    呵,我覺得不需要多了變數又多函式empty來判斷

    其實用php pear的timer來測一下,效能也沒差多少^_^"

    大概就這樣嘍

  • How do you think about the answers? You can sign in to vote the answer.
  • 1 decade ago

    你可以在返回login.php時順便把空值回傳..

    再利用login去接收你要的數值,若接收為空值則顯示訊息..

    例如

    login.php?id=xxx&pwd=yyy

    login裡利用$_GET["id"]和$_GET["pwd"]來接收數值..

    至於其他的顯示就得看你怎麼去寫囉..

    加油加油..^^..如果回答的不是你要的..煩請說一聲哦..

    Source(s): 自己
Still have questions? Get your answers by asking now.