Rumah > Soal Jawab > teks badan
Saya tiada masalah mencipta kod SQL dan PHP yang sah. Saya tidak mempunyai masalah mencipta kod C# yang berjalan secara dalaman.
Satu-satunya masalah saya ialah saya tidak boleh mendapatkan skrip C# saya (dari dalam Unity, btw) untuk menghantar rentetan ke ascended.us/monstro/login
Itu sahaja! Adakah terdapat orang yang bijak di sini yang boleh membantu saya mengatasi halangan yang menjengkelkan ini?
Terima kasih banyak-banyak!
Saya cuba mendapatkan kod berikut untuk menghantar borang ke halaman saya. Ya, Unity sedang menghantar permintaan rangkaian, tetapi ia tidak menghantar data penerbitan. Inilah bahagian C# sesuatu.
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!"); } } } }
Di bawah ialah skrip PHP saya untuk menerima 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); ?>
Saya tahu skrip ini tidak selamat jadi anggap ia sebagai aplikasi hello world. Apabila saya menjalankan skrip, apa yang akhirnya berlaku ialah ia memasukkan nilai ke dalam jadual SQL saya, tetapi nilainya kosong, menunjukkan bahawa pembolehubah pos tidak dipindahkan. boleh awak tolong?
Mungkin saya memerlukan beberapa jenis kebenaran? Saya menggunakan BlueHost jika itu membantu. A mestiAda cara mudah untuk mendapatkan data siaran ini dihantar dari C# ke halaman PHP saya! Saya telah mencuba tutorial lain dan respons yang serupa di laman web ini (dan banyak lagi) tetapi ia tidak berfungsi.
P粉8648728122024-03-23 09:33:22
Skrip C# kelihatan baik untuk menghantar permintaan POST, tetapi data yang diterima skrip PHP nampaknya berada dalam format yang salah. Dalam UnityWebRequest anda, anda menghantar data JSON, tetapi skrip PHP anda cuba mengakses $_POST["loginUser"]
, iaitu untuk data bentuk biasa, bukan data JSON.
Anda boleh mengubah suai skrip C# untuk menghantar data sebagai data borang seperti ini:
IEnumerator Upload() { WWWForm form = new WWWForm(); form.AddField("loginUser", "1"); form.AddField("field2", "2"); using (UnityWebRequest www = UnityWebRequest.Post("https://www.ascended.us/monstro/login.php", form)) { yield return www.SendWebRequest(); if (www.result != UnityWebRequest.Result.Success) { Debug.Log(www.error); } else { Debug.Log("Form upload complete!"); } } }
Dalam skrip PHP anda boleh mengakses data menggunakan $_POST
:
Dengan kod yang diubah suai, anda boleh menghantar data POST sebagai data borang daripada Unity dan skrip PHP anda boleh mengakses pembolehubah POST dengan betul menggunakan $_POST["loginUser"]
.
Jika anda masih menghadapi masalah, sila beritahu saya.