Search code examples
unity-game-enginex-www-form-urlencoded

Unity - WWWForm not posting variables


I have this working just fine in one project however in a second project my _POST variables are blank. Thoughts?

IEnumerator GetClub()
     {
         Debug.Log("GetClub: - START");
         WWWForm form = new WWWForm();
         form.AddField("state", "TX");
         form.AddField("author", "MYNAME");
 
         UnityWebRequest res = UnityWebRequest.Post(getGlubsURL, form);
 
         yield return res.SendWebRequest();
 
         Debug.Log(res.downloadHandler.text);

and the php file is a simple

<?php
 echo "MADE IT  ";
 echo "author: [" . $_POST['author'] . "] ";
 echo "state: [" . $_POST['state'] . "]";
 ?>

and console in unity is:

MADE IT author: [] state: [] UnityEngine.Debug:Log (object)

This works fine in POSTMAN so not sure why Unity Forms are not passing POST variables?


Solution

  • I've been through a similar problem; $_POST is empty in general.

    Then I found out that the URL was "HTTP://website.com/folder", not "HTTP://website.com/folder/". That last "/" is important apparently because without it, you'd get a "PAGE MOVED PERMANENTLY" error then redirect you to "HTTP://website.com/folder/index.php" discarding previous POST request.