2016-10-21 11 views
0

私のuserLogin.phpスクリプトに2x JSON_encode行が含まれているという問題があります。2つのjson_encode行が必要です(Swiftへの出力)

echo json_encode($userDetails); 

echo json_encode($communities); 

これがいっぱいですuserLogin.phpスクリプトを下回る:

<?php 

require ("Conn.php"); 
require ("MySQLDao.php"); 

$email = htmlentities($_POST["email"]); 
$password = htmlentities($_POST["password"]); 

$returnValue = array(); 


if(empty($email) || empty($password)) 
{ 
$returnValue["status"] = "error"; 
$returnValue["message"] = "Missing required field"; 
echo json_encode($returnValue); 
return; 
} 

$secure_password = md5($password); 

$dao = new MySQLDao(); 
$dao->openConnection(); 
$userDetails = $dao->getUserDetailsWithPassword($email,$secure_password); 

if(!empty($userDetails)) 
{ 
$returnValue["status"] = "Success"; 
$returnValue["message"] = "User is registered"; 
echo json_encode($userDetails); 
}else{ 

$returnValue["status"] = "error"; 
$returnValue["message"] = "User is not found"; 
echo json_encode($returnValue); 
} 

//once logged in run function to get list of communities 

$communities = array(); 
$communities = $dao->getCommunities($email); 
echo json_encode($communities); 

$dao -> closeConnection(); 

?> 

$userDetails店、まさにこのようなID、名前、電子メールアドレスとして、ログインした人の詳細が表示されます。

$communitiesは、人がメンバーである別のコミュニティの名前を格納する配列です。各メンバーは、異なる数のコミュニティの一部である場合があります。

ユーザーがログインすると、すぐに両方のアレイが必要になります。そのため、両方のアレイがuserLogin.phpスクリプトに含まれています。これらはSwiftに返され、$communitiesの場合は、その内容をUITableViewに表示します。

しかし、これは構文エラーであるため、複数のJSONブロックを出力できないことを学んだことがあります。 (私のXcodeでエラーが報告されています)

どのようにこの問題を解決できますか?

答えて

2

配列に入れ:

echo json_encode(array($userDetails, $communities)); 

またはいくつかの意味のあるキーを使って:

echo json_encode(array('userDetails' => $userDetails, 
         'communities' => $communities)); 
+0

あなたに少しの天才! – RDowns

関連する問題