Получение данных сайта на iphone с использованием JSON - PullRequest
0 голосов
/ 24 февраля 2012

Я работаю над проектом для iphone, связанным с использованием веб-сервера, и получаю данные в формате JSON.Я сделал таблицу «login_info» в базе данных mysql, в которой будут храниться имя пользователя, имя пользователя и пароль.На сайте я получаю имя пользователя и пароль для входа и отображения информационной страницы.

Это нормально, что после входа на сайт я получаю другую страницу, но для отображения данных этой информационной страницы в iphone ядолжны конвертировать их в формат JSON.У меня вопрос, как я могу добиться этого, как на веб-сайте я должен получить информационную страницу и на iphone, я должен получить массив значений JSON на информационной странице.просто сбросит его на странице веб-сайта вместе с другими деталями на веб-странице.Я думал, что в любом случае я могу использовать UserID здесь после входа в систему и на основе этого UserID я могу получить информацию о других веб-страницах, если я добавлю больше веб-страниц.Имя пользователя и пароль будут использоваться только для входа в систему, возвращая идентификатор пользователя, и последующие данные будут доступны с использованием этого идентификатора пользователя.Пожалуйста, ведите меня, поскольку у меня нет опыта в веб-части и я пытаюсь учиться.

1 Ответ

0 голосов
/ 24 февраля 2012

Что бы вы ни повторяли в PHP, оно будет получено как ответ HTTP.мы уже обсуждали то же самое в этом посте. отправка ответа из php-скрипта на iOS ,

Я предлагаю вам создать массив данных на основе любой информации, которую вы хотите отправить обратно на ваш iPhone.а затем преобразовать массив в json с помощью PHP-функции json_encode () .таким образом вы избежите ненужных отправок данных.

Обновление: вы можете реализовать его, используя условный оператор.

Метод 1: Определить, поступает ли запрос с iPhone напрямую, используя функцию обнаружения агента PHP.

function isIphone($user_agent=NULL) {
    if(!isset($user_agent)) {
        $user_agent = isset($_SERVER['HTTP_USER_AGENT']) ? $_SERVER['HTTP_USER_AGENT'] : '';
    }
    return (strpos($user_agent, 'iPhone') !== FALSE);
}

if(isIphone()) {
    //the query is coming from iPhone, place your data you want to send back to iphone here
} else {
    //query is not from iPhone, you can place rest of your code here
}

в качестве альтернативы для этого метода вы можете использовать JavaScript для обнаружения iPhone, я предлагаю вам использовать PHP, потому что если кто-то отключит JavaScript, тоэто может привести к неожиданному поведению вашего кода, о том, как это сделать с помощью Javascript, посмотрите на ссылку ниже (приведенный выше пример взят из той же ссылки).

Обнаружить браузер iPhone

Метод 2: При запросе с вашего iPhone.отправьте некоторое значение HTTP-сообщения, сообщающее PHP, что запрос поступает с iPhone.IMO, лучше использовать POST, чем GET, потому что кто-то может узнать о вашем шаблоне URL и попытаться настроить его.вы можете обойти это, отправив другое случайное значение с iPhone и проверив его на стороне сервера.

, поэтому вместо этого

http://mysite.com?ua=iphone

вы можете попробовать отправить это

http://mysite.com?ua=iphone&ran=jkdkfjklj678

и затем в PHP вы можете проверить это, используя

if(isset($_POST['ua']) && $_POST['ua'] == 'iPhone') {
    //The request is coming from iPhone, make sure to check the random value too
} else {
    //The request is not from iPhone, render the other page.
}

Метод 3: почему бы просто не отправить запрос с iPhone на другойPHP скрипт вместо той же страницы?таким образом, вы можете разделить логику и избежать путаницы со скриптом.

например.Для iPhone вы можете использовать iphone.php, а для остальных somepage.php, для меня этот подход намного чище.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...