Question by
guisamuel53 · May 18 at 02:52 AM ·
loginmysqlwebrequestphppost
Using POST and WebRequest in Unity
Hey!
I have a mini-system with MySQL and PHP and I need to connect it with Unity, for login, save high scores, etc. I used the example from here: https://docs.unity3d.com/ScriptReference/Networking.UnityWebRequest.Post.html
But when I call the Login method from a Canvas button, the system returns a successful result (using Debug.Log function), but the PHP file doesn't detect POST from Unity. Now, I guess the problem is on the PHP file, but I didn't find any issue with POST logic, so I can't confirm this statement.
I'm using XAMPP to create a server with MySQL and PHP.
Here is my class for connection
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using UnityEngine.SceneManagement;
using UnityEngine.Networking;
public class Server : MonoBehaviour
{
public InputField username;
public InputField password;
public void Login() {
StartCoroutine(Upload());
}
IEnumerator Upload()
{
WWWForm form = new WWWForm();
form.AddField("username", username.text);
form.AddField("password", password.text);
UnityWebRequest www = UnityWebRequest.Post("http://localhost/school-system/unity/index.php", form);
yield return www.SendWebRequest();
if (www.result != UnityWebRequest.Result.Success)
{
Debug.Log(www.error);
}
else
{
Debug.Log("Form upload complete!");
}
}
}
And here is my index.php (I'm not using any hash function for passwords, because the system at moment is only for tests)
<?php
include '../connection.php';
if(isset($_POST['username']) && isset($_POST['password'])) {
$username = $_POST['username'];
$password = $_POST['password'];
$sql = "SELECT COUNT(*) FROM user
WHERE user_nickname = '$username' AND user_password = '$password'";
$query = mysqli_query($connection, $sql);
$row = mysqli_fetch_row($query);
if($row[0] != 0) {
$sql = "SELECT user_nickname, user_password FROM user
WHERE user_nickname = '$username' AND user_password = '$password'";
$query = mysqli_query($connection, $sql);
$row = mysqli_fetch_row($query);
echo $row[0]." - ".$row[1];
} else {
echo "error";
}
}
?>
Comment