2017-08-25 8 views
2

Appleは通帳のために合格し、更新されていません。Argh! - 通帳表は

を私は持っている以下のコードを使用していますサーバ側(webserviceUrl)についてなど をパス自体を実装して、更新のために伝えたいきました調整された。私は非常にPHPで経験していないので、任意の助けが素晴らしいだろう!

コンソールでは、パスをインストールするときに認証コードと一致しているようですが、以下のコードでテーブルが更新されていません。

テーブル:

デバイス {のDeviceID、push_token}空 -

登録 {DEVICE_ID、pass_id、pass_type}空

はまたテーブルシリアルから成るを渡しました、PassID、authtoken、およびその他のパスに関する情報を入力してください。

<?php 

     $servername = "hostname"; 
    $username = "user"; 
    $password = "pass"; 
    $dbname = "db"; 

    // Create connection 
    $conn = new mysqli($servername, $username, $password, $dbname); 
    // Check connection 
    if ($conn->connect_error) { 
     die("Connection failed: " . $conn->connect_error); 
    } 

    $request = explode("/", substr(@$_SERVER['REQUEST_URI'], 1)); 



    if (strtoupper($_SERVER['REQUEST_METHOD']) === "POST" 

     && isset($_SERVER['HTTP_AUTHORIZATION']) 

     && strpos($_SERVER['HTTP_AUTHORIZATION'], 'ApplePass') === 0 

     && $request[2] === "devices" 

     && $request[4] === "registrations") { 



     $auth_key = str_replace('ApplePass ', '', $_SERVER['HTTP_AUTHORIZATION']); 



     $device_id = $request[3]; 

     $pass_id = $request[5]; 

     $serial = $request[6]; 



     // Catch the JSON post and decode it 

     $dt = @file_get_contents('php://input'); 

     $device_token = json_decode($dt); 

     $device_token = $device_token->pushToken; 





     $sql="INSERT INTO Registrations (device_id, pass_id, pass_type) VALUES ('".$device_id."', '".$pass_id."', '".$serial."')"; 

    if ($conn->query($sql) === TRUE) { 
     echo "y"; 
    } else { 
     echo "Error: " . $sql . "<br>" . $conn->error; 


     $sql="INSERT INTO Devices (DeviceID, push_token) VALUES ('".$device_id."', '".$device_token."')"; 

    if ($conn->query($sql) === TRUE) { 
     echo "y"; 
    } else { 
     echo "Error: " . $sql . "<br>" . $conn->error; 
    mysql_query($sql,$link); 

    exit; 

     } 

    }} 
    ?> 

この時点では、どんな入力も本当に役に立ちます。

+0

これは、リダイレクトタイプと関係があると思うようになりました。それは、Apacheのリダイレクトタイプですが、Apacheを使用してリダイレクトされますが、クエリは保持されません。 – Michael

答えて

0

これに遭遇する人のためにそれを働かせました。私のwebserviceurlへのリダイレクトが間違っていました。ここに私が.htaccessに入れたものがあります - これは私のコードが本質的にURL情報をダイシングしていないことを意味していました。

RewriteEngine on 
RewriteCond %{REQUEST_FILENAME} !index.php 
RewriteRule .* index.php?url=$0 [QSA,L] 
RewriteRule .* - [env=HTTP_AUTHORIZATION:%{HTTP:Authorization},last] 
関連する問題