2014-02-21 29 views
0

我有簡單的代碼是這樣的:如果和別人不分配假

$options = new Options(); 
$page = new Pages(); 
if($page->page_limit() <= $options->pageno) { 
    $page->userid = $user_details->userid; 
    $page->date_of_pub = $_POST['date_of_pub']; 
    $resultss=$page->page_create(); 

} 
else { 
    $resultss=false; 
} 

然後在底部我把一個條件

if(isset($resultss) && isset($resultss) == true) { 
    echo $alert->SuccessMsg("Page created successfully!"); 
} 
if(isset($resultss) && isset($resultss) == false) { 
    echo $alert->ErrorMsg("You Have Been Reached to your maximum page limit"); 
} 

除了打印誤差值甚至我已設置值$result = false是顯示成功消息,表示其顯示$resultss = true聲明。

建議一些東西。這太奇怪了。我得到了答案,非常感謝你:)

還有一件事。

可以請你告訴我,我怎樣才能擺脫這種" echo $alert->ErrorMsg"這是所有類和功能,這樣令人討厭的。我想把它作爲一個單詞。

+2

直接檢查'($ resultss == true)即使'$ resultss'爲false,'isset($ resultss)'也將爲true。 –

+0

嗯這是什麼? 'if(isset($ resultss)&&!isset($ resultss)){'。它的意思是說,如果它的早晨和不早晨那麼這樣做n如此 –

+0

你真的不需要檢查變量是否設置。只要做'if($ resultss){做東西} else {做別的東西}' –

回答

1

您檢查同一兩次:

isset($resultss) && isset($resultss)==true 

您應該做的:

isset($ressults) && $ressults == true 
+0

它的工作。謝謝! – user3201500

+0

這沒有解決第二個'isset()'錯誤。 –

-2

您是否嘗試將它設置爲false作爲默認值?

$options = new Options(); 
$page = new Pages(); 
$resultss = false; 
if($page->page_limit() <= $options->pageno){ 
    $page->userid = $user_details->userid; 
    $page->date_of_pub = $_POST['date_of_pub']; 
    $resultss = $page->page_create(); 
} 
+0

他遇到的問題是if條件,而不是賦值邏輯。 –

+0

是的,我再次檢查與isset()哪個是錯誤的。但現在問題解決了。謝謝你的關心。 – user3201500

+0

所以我明白了。這是我自己的錯誤,因爲沒有正確讀取你的代碼哈哈! – Magictallguy

0

更改IF條件:

if(isset($resultss) && $resultss == true) 

isset(x)isset(x) == true睡牀簡單的意思是一樣的。你想要的是匹配兩個條件: 變量IS SET和IT等於TRUE。

因爲我不知道是什麼值可能是我建議使用這些confitions:

if(isset($resultss) && $resultss !== false) //the value is set and it is NOT set to false 

if(isset($resultss) && $resultss === false) //the value is set to false 
+0

是的,它的工作!謝謝...... :) – user3201500

+0

這不會解決第二個'isset()'錯誤。 –

+0

現在它確實。應該工作得很好 – MaGnetas

1

您在邏輯上遇到問題isset()。這:

if(isset($resultss) && isset($resultss)==true){echo $alert->SuccessMsg("Page created successfully!");} 
if(isset($resultss) && isset($resultss)==false){echo $alert->ErrorMsg("You Have Been Reached to your maximum page limit");} 

應該

if(isset($resultss) && $resultss == true){echo $alert->SuccessMsg("Page created successfully!");} 
if(isset($resultss) && $resultss ===false){echo $alert->ErrorMsg("You Have Been Reached to your maximum page limit");} 

在現有的代碼,每個語句中的第二isset()不正確。在第一個中,它是多餘的,並且您要求與if(isset($resultss) && isset($resultss))相同的東西,這總是正確的。在第二個,isset($resultss) && isset($resultss)==false永遠不會是真的。這就像true && false

+0

謝謝你,它工作得很好。我犯了一個愚蠢的錯誤! – user3201500

0

你真的不需要檢查變量是否被設置,因爲你將它設置在if/else的兩個分支中。只要做:

if ($resultss) { 
    echo $alert->SuccessMsg("Page created successfully!"); 
} else { 
    echo $alert->ErrorMsg("You Have Been Reached to your maximum page limit"); 
}