我在建立有效的 SQL 和 PHP 程式碼方面沒有任何問題。我對創建內部運行的 C# 程式碼沒有任何問題。
我的唯一問題是我無法讓我的 C# 腳本(順便說一句,從 Unity 內部)將字串傳遞給 ascended.us/monstro/login
就是這樣!這裡有聰明人可以幫助我克服這令人討厭的障礙嗎?
非常感謝!
我嘗試獲取以下程式碼以將表單發送到我的頁面。是的,Unity正在發送網路請求,但它沒有傳輸發布資料。下面是 C# 方面的內容。
using UnityEngine; using UnityEngine.Networking; using System.Collections; public class MyBehavior : MonoBehaviour { void Start() { StartCoroutine(Upload()); } IEnumerator Upload() { using (UnityWebRequest www = UnityWebRequest.Post("https://www.ascended.us/monstro/login.php", "{ \"loginUser\": 1, \"field2\": 2 }", "application/json")) { yield return www.SendWebRequest(); if (www.result != UnityWebRequest.Result.Success) { Debug.Log(www.error); } else { Debug.Log("Form upload complete!"); } } } }
以下是我的 PHP 腳本,用來接受 C# UnityWebRequest
#<? $sqllink = mysqli_connect("localhost", "REDACTED", "REDACTED", "REDACTED"); //THESE ARE VERIFIED TO BE CORRECT if (!$sqllink) {die('Could not connect: ' . mysqli_connect_errno() . ' - ' . mysqli_connect_error());} $loginUser = $_POST["loginUser"]; $query = "INSERT INTO inbound_data (data) VALUES('$loginUser')"; mysqli_query($sqllink, $query); ?>
我知道這個腳本不安全,所以將其視為 hello world 應用程式。當我運行腳本時,最終發生的情況是它向我的 SQL 表中插入了一個值,但該值是空的,這表明 post 變數沒有被傳輸。你能幫忙嗎?
也許我需要某種權限?如果有幫助的話我正在使用 BlueHost。 必須有一個簡單的方法可以讓此文章資料真正從 C# 發送到我的 PHP 頁面!我已經嘗試過此網站(以及許多其他網站)上的其他教程和類似的回复,但它們不起作用。
C# 腳本看起來適合發送 POST 請求,但 PHP 腳本接收的資料格式似乎可能錯誤。在您的 UnityWebRequest 中,您正在發送 JSON 數據,但您的 PHP 腳本正在嘗試存取
$_POST["loginUser"]
,它用於常規表單數據,而不是 JSON 資料。您可以修改 C# 腳本,將資料作為表單資料傳送,如下所示:
在 PHP 腳本中,您可以使用
$_POST
存取資料:使用修改後的程式碼,您可以將 POST 資料作為表單資料從 Unity 發送,並且您的 PHP 腳本可以使用
$_POST["loginUser"]
正確存取 POST 變數。如果您仍然遇到問題,請告訴我。