У меня есть логин для Android и приложения для iphone в cocos2dx ..
После входа в систему на следующей странице я успешно получаю данные в симуляторе ios, но в телефоне Android он становится нулевым.
Здесь JSON ответить войти в Android —
res: {"F":null,"W":null,"T":null,"Fp":null,"Wp":null,"Tp":null,"msg":"Invalid","sid":null}
А в Ios Simulator —
res: {"F":"135","W":"1","T":"1","Fp":"1","Wp":"1","Tp":"1","msg":"success","sid":"1nf9ecj3j2nmm2lmamblf27n34"}
тот же код сервера возвращает успех в симуляторе ios и недействителен через Android ..
в login.php я устанавливаю идентификатор сессии (sid) —
$postdata = file_get_contents("php://input");
parse_str($postdata, $get_array);
//print_r($get_array);$id = $get_array['id'];
$pass = $get_array['pass'];$link = mysqli_connect("localhost", "aaa", "aaa", "aa");
// Check connection
if($link === false){
die("ERROR: Could not connect. " . mysqli_connect_error());
echo ("connection failed");
}
// Attempt select query execution
$sql = "SELECT `uid` FROM userdetails WHERE uname = '$id' AND pass = '$pass'";
//$query = mysql_query($sql);
$msg;
if($query = mysqli_query($link, $sql)){
if (mysqli_num_rows($query) >= 1)
{
while($row = mysqli_fetch_assoc($query)) {
$value = $row['uid'];
}session_start();
$a = session_id();
$_SESSION['sid'] = $a;
$_SESSION['userid'] = $value;
$_SESSION['name'] = $id;$msg = "success";
}
else{$msg = "fail";
}
}
else
{
$msg = "dberror";
}header('Content-type: application/json');
$data2 = array('sid' => $a ,'msg' => $msg);
echo json_encode($data2);
// Close connection
//mysqli_close($link);?>
2-я страница — getstats.php — я отправил идентификатор сессии, сгенерированный при входе в систему через POST, на getstats.php в виде sid
<?php
//gettrees
session_start();$postdata = file_get_contents("php://input");
parse_str($postdata, $get_array);
//print_r($get_array);
$msg;
$sesid = $get_array['sid'];
$serverid = $_SESSION['sid'];if($_SESSION['sid'] == $sesid)
{
$link = mysqli_connect("localhost", "aaa", "aaa", "aa");// Check connection
if($link === false){
die("ERROR: Could not connect. " . mysqli_connect_error());
}
$userid = $_SESSION['userid'];
// echo "uuuuuuuuuuuuuuuuuuuu";
// echo $userid;// Attempt select query execution
$sql = "SELECT `F`,`W`,`T`,`Fp`,`Wp`,`Tp` FROM groupdetails WHERE uid='$userid'";
//$query = mysql_query($sql);if($query = mysqli_query($link, $sql)){
if (mysqli_num_rows($query) > 0)
{
while($row = mysqli_fetch_assoc($query)) {$F = $row['F'];
$W = $row['W'];
$T = $row['T'];
$Fp = $row['Fp'];
$Wp = $row['Wp'];
$Tp = $row['Tp'];
}
$msg = "success";
}
else
{
$msg = "No Records";
}
}
else
{
$msg = "db error";
}}
else
{
$msg = "Invalid";
}$dir = "../imgs/";
$list = array();
// Open a directory, and read its contents
if (is_dir($dir)){
if ($dh = opendir($dir)){
while (($file = readdir($dh)) !== false){
if ($file == "." or $file == "..") continue;
$list[] = $file;
// echo $file;
}
closedir($dh);
}
}
header('Content-type: application/json');
$data2 = array( 'F' => $userid, 'W' => $W, 'T' => $T, 'Fp' => $Fp, 'Wp' => $Wp, 'Tp' => $Tp, 'list' => $list, 'msg' => $msg , 'sid' => $serverid );
echo json_encode($data2);
// Close connection
mysqli_close($link);?>
$ _SESSION [‘sid’] или $ serverid возвращает нулевое значение в телефоне Android, но правильное значение из симулятора ios.
Любая помощь будет оценена. Спасибо
Задача ещё не решена.
Других решений пока нет …