2012-03-20 1 views
0

私はサーバー上にPHPスクリプトを持っていますが、私が必要とすることの大半は正常に動作しています。私は現在、特定のユーザーに対して特別なユーザー特権を設定しています。PHPエコーがXcodeで受信されました。隠しキャラクターはありますか?

私がログインしているユーザーは、以下を使用してprivlegesの名前や「空白」を返し、その後、特別なユーザデータベースに登録されているかどうかを確認

private function checkSpecialUser($userID) 
{ 
    $db = new DbConnect(); 
    $result = $db->query("SELECT privelege FROM special_users WHERE userID = $userID"); 
    if ($privName = $result->fetch_object()) 
    { 
     echo $privName->privelege; 
    } 
    else 
    { 
     echo 'blank'; 
    } 
    $db->close(); 
} 

Xcodeで、私はシンプルを設定しています私が持っている問題に今

NSData *returnData = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:&requestError]; 

NSString *packName = (NSString *)[[NSString alloc] initWithData:returnData encoding:NSUTF8StringEncoding]; 
packName = [packName stringByReplacingOccurrencesOfString:@" " withString:@""]; 

NSLog(@"packName is %@", packName); 

if([packName isEqualToString:@"blank"]) 
{ 
    NSLog(@"user is not special"); 
} 
else 
{ 
    NSLog(@"User is special :-)"); 
} 
return packName; 

:PHPスクリプト(つまり、すべてが正常に動作しますので、私は、接続部を残しておきます)によって返された文字列を返す関数。ユーザが特別な権限を持っていない場合、最初のNSLogは "packName is blank"を表示します。これはまさに私が期待するものです。しかし、if文は、packNameがequalToString "blank"であることを認識しなければなりません。それは常に「else」に達し、「User is special :-)」と表示します。

AREが登録されているユーザーと二重チェックしましたが、予想通りの文字列を返しますが、再度equalToString応答をトリガーしません。

PHPのエコーには、削除する必要のある隠された文字が含まれていますか、何らかの理由でデータベースから正しく値が取得されていませんか?データベースでは、各行は単にvarcharであるuserIDと、varcharである権限の名前です。

誰かがヒントをお持ちでしたら、本当に感謝しています。ありがとう。

+0

は '@"空白 "'空白の特別な並べ替えですか?なぜあなたは '@" "'を使わないのですか? – cairnz

+0

通常、私はちょうどそれが何かをエコーバックしていたことを確認したいと思っていました。それが空白だったら私は100%それが働いていたと確信していなかったでしょう。 – TheBestBigAl

答えて

1

「空白」を返信する代わりに、何も返信しないか、空の文字列を使用してみてください。次に、単語 "blank"をマッチングする代わりに、文字列の長さをテストします。これは、少なくとも、あなたがそこに改行を持っていると言いたいのであれば、空白スペース以外のものを削除するかもしれない、packNameに他の文字があるかどうかを教えてくれるでしょう。

+0

よろしくお願いいたします。私は空の文字列を送り、Xcodeに文字列の長さを表示し、0ではなく1であった。そして、 'packName = [packName stringByReplacingOccurrencesOfString:@" \ n "withString:@" "];'結局は改行だった。 Xcodeでエスケープ文字を明らかにする方法はありますか? – TheBestBigAl

+1

いいえ、私はPHPの男です;) – Jason

関連する問題