Here’s a tutorial on the Corona side:
https://coronalabs.com/blog/2015/06/02/tutorial-connecting-to-restful-api-services/
Here is a pretty simple example of a PHP script. It expects a Username and Password passed as base64 encoded text. It returns information about the user back to them.
\<?php // // getstatus.php for the Trivia Game // define( "DB\_DSN", 'yourdbname' ); define( "DB\_HOST", 'localhost' ); define( "DB\_USER", 'yourdbuser' ); define( "DB\_PASS", 'yourdbpassword' ); // Connecting, selecting database // print("connecting to database\n"); $link = mysql\_connect(DB\_HOST, DB\_USER, DB\_PASS) or die('Could not connect: ' . mysql\_error()); mysql\_select\_db(DB\_DSN) or die('Could not select database'); if(isset($\_GET)) { $playername = base64\_decode($\_GET["playername"]); $password = base64\_decode($\_GET["password"]); $query = 'SELECT \* FROM players WHERE playername="' . mysql\_real\_escape\_string($playername) . '" or email="' . mysql\_real\_escape\_string($loginid) . '"'; $dbresult = mysql\_query($query, $link); if (!$dbresult) { http\_response\_code(403); $result = array(); $result["message"] = "Forbidden"; echo json\_encode($result); mysql\_free\_result($dbresult); exit; } $player = mysql\_fetch\_array($dbresult, MYSQL\_ASSOC); if (strcmp($player["password"],md5($password)) == 0) { http\_response\_code(200); $result = array(); $result["message"] = "Success"; $result["privs"] = $player["privileges"]; echo json\_encode($result); } else { //echo "password mismatch"; http\_response\_code(403); $result = array(); $result["message"] = "Forbidden"; echo json\_encode($result); } mysql\_free\_result($dbresult); } else { http\_response\_code(400); $result = array(); $result["message"] = "Bad Request"; echo json\_encode($result); } //echo "exiting"; exit; ?\>
The Corona side of things looks like:
local mime = require( "mime" ) local function loginCallback(event) if ( event.isError ) then -- handle error else print ( "RESPONSE: " .. event.response ) local data = json.decode(event.response) -- deal with returned data end return true end local URL = "http://yoursite.com/yourphpscript.php?playername=" .. mime.b64(username) .. "&password=" .. mime.b64(password) network.request(URL , "GET", callback )
This isn’t the most secure way of handling logins. It was also taken from a running app, but stripped of any things not needed. It may have errors, but it should get you close.