LoginSignup
3
2

More than 5 years have passed since last update.

Cocos2d-xのサーバー通信方法(JSON+PHP+MySQL) Part2

Last updated at Posted at 2017-11-15

前回のCocos2d-xのサーバー通信方法(JSON+PHP+MySQL) Part1の続き

今回の内容

  • リクエストURLのPHP作成

準備する事

  • レンタルサーバーまたはPHP、MySQLが使用できるサーバーを借りる
  • MySQLのユーザー登録、テーブル作成、フィールド作成
  • PHPファイルの作成環境、アップロード環境の構築

PHPファイル作成

sample.php
<?php
//HTTPリクエストから送られた文字データを受け取りJSON形式に変換
$postData = file_get_contents("php://input");
$inputData = json_decode($postData, true);

if ($inputData == NULL) { exit; }

//データベースアクセス
try {
    $pdo = new PDO('mysql:host=localhost;dbname=[データベース名];charset=utf8','ユーザー名','パスワード');
    $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    $pdo->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);
} catch (PDOException $Exception) { exit; }

//$inputDataは連想配列。JSONを作る時の[Key]にて値を変数に入力
$str = $inputData["str"];
$val1 = $inputData["val1"];
$val2 = $inputData["val2"];

//SQL文を作りMySQLにINSERTする
$sql = "INSERT INTO user (field1, field2, field3, date) VALUES (?, ?, ?, ?)";
$stmh = $pdo->prepare($sql);
$stmh->bindValue(1, $str);
$stmh->bindValue(2, $val1);
$stmh->bindValue(3, $val2);
$stmh->bindValue(4, date('c'));
$stmh->execute();
$pdo->null;

PHPはCocos2d-xのHTTPリクエストから送られたJSON文字列を連想配列に変換
その後にデータベースに書き込む

PHPをサーバーにアップロード

作成したPHPファイルをサーバーにアップロードする
アップロードされたPHPファイルのパスを調べhttp://~/sample.phpまたはhttps://~/sample.phpのURLにする
~は自身のドメイン、フォルダ名になる

URLを記入

Cocos2d-xのサーバー通信方法(JSON+PHP+MySQL) Part1にて
作成したHTTPリクエストのリクエストURLに調べたURLを記入

request->setUrl("https://~/sample.php");

Cocos2d-xにてHTTPリクエストを送るとMySQLのデータベースに入力される

実用例

  • ユーザー登録
  • ユーザーランキング

応用すればいろんなデータを送信することが可能

Part3

次回はデータベースのデータ受信

3
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
2