2013-06-05 84 views
-3
if($_POST['login']) { 
    if(isset($_POST['userName']) || isset($_POST['userPassword'])){ 
     echo 'logging failed'; 
     $this -> loginMsg = 'Login Failed!'; 
    } 
} 

大家好香港專業教育學院在寫日誌,以停止登錄的空擊, 怎麼過即時通訊能夠呼應洛失敗了,但 它產生到字符串它不會讓我?我想知道爲什麼。回波返回值,但值不

+0

您需要一個適當的數據結構來保存消息。 '$ this-> loginMsg'不是。 – karthikr

+0

「將其生成字符串」是什麼意思? – 2013-06-05 20:29:36

+0

你是在做一個對象方法嗎?如果沒有,那麼$這是不會工作... –

回答

1

看起來你的支票是錯的。 Should't它是:

if(!isset($_POST['userName']) || !isset($_POST['userPassword'])) { 
    // log login failed error 
    $loginMsg = 'Login Failed!'; 
} 
+0

如果檢查是錯誤的,爲什麼回聲消息會通過? – karthikr

+0

不是由於某種原因,它是isset而不是!isset – LearningPhPbasics

+2

@karthikr:不知道爲什麼有人會拋出一個錯誤,如果設置了userPassword或用戶名。 – anubhava

2

如果您在對象的情況下(即在一個類中),使用一個簡單的變量不是:

$loginMsg = 'Failed!'; 
+0

如果這是不正確的,我想不出是什麼。 – sgroves

+0

哇是的你是非常正確的謝謝你現在的工作! – LearningPhPbasics

0

更好的是使用空地方isset的,

if($_POST['login']) { 
    if(empty($_POST['userName']) || empty($_POST['userPassword'])){ 
     $loginMsg = 'Login Failed!'; 
    } 
} 

isset僅檢查它的設置與否,空還檢查值是至少1個字符長(在字符串的情況下) http://techtalk.virendrachandak.com/php-isset-vs-empty-vs-is_null/

+0

如何阻止人們登錄失敗時自動登錄網站? – LearningPhPbasics

+0

我沒有得到你的問題,使用會話,如果登錄成功的代碼將像'session_start(); $ _ SESSION ['user'] = $ _POST ['userName'];'讀會話,給我發電子郵件web2students.com如果還有問題,@ gmail.com。見http://www.w3schools.com/php/php_sessions.asp –