2011-11-18 10 views
0

私は、コードのこの部分を持っている:なぜ "if(variable = class)"がfalseを返しますか?

$username = strip_tags($_POST['username']); 
$password = strip_tags(md5($_POST['password'])); 
require_once '../classes/Login.php'; 
$Login = new Login; 
if($message = $Login->checkUserLogin($username,$password)) 
echo $message; 
} 
else{ 
echo "Houston, we have problem"; 
} 

そして、それは書く: "Houston, we have problem"

をだから私は、なぜ思ったんだけど?

私の英語のために残念です。あなたが私を理解することを願っています

+1

ユーザ名またはパスワードか、 'checkUserLogin()'メソッドが間違っている可能性がありますか?テストの前に '$ username'と' $ password'を出力して、それらが持っている値と 'checkUserLogin()'で受け入れるべきかどうか確認してください。 'checkUserLogin()'のコードは何ですか? –

+0

空の文字列または他の偽ではあるが偽の値を返しませんか? – Ryan

+3

括弧がありません '{'あなたはありますか? –

答えて

1

は、私はあなたがIFに変数を割り当てることができるとは思わないが返されます他の変数や値と同時に比較しない限り別の提案があります:

$username = strip_tags($_POST['username']); 
$password = strip_tags(md5($_POST['password'])); 
require_once '../classes/Login.php'; 
$Login = new Login; 
$message = $Login->checkUserLogin($username,$password); 
if($message != '') { 
echo $message; 
} 
else{ 
echo "Houston, we have problem"; 
} 

申し訳ありませんが、私は再び提案に行きます。あなたが本当にそれがうまくいかない理由を知りたいのであれば、私はあなたの質問に答える他の方法を知らない。あなたが$messageを比較するために何かを持っていた場合

しかし、あなたは、これはそれが役立つはず

if($messageToCompare == $message = $Login->checkUserLogin($username,$password)) { 

を!:使用することができます。

+0

私は彼が値を割り当てようとし、なぜ彼がnullになるのか不思議に思うと思います。 – Dimme

+0

ああ。その場合、私の投稿はうまく行かないでしょう... – Nonym

+0

私は値を割り当てようとしています...私はいくつかのソースコードを追加しました... –

0

これは、スタックオーバーフローのために質問しないで、単純なdebbuggingの問題です...

var_dump($Login->checkUserLogin($username,$password)); 

int(0)またはbool(false)またはNULL

関連する問題