问题描述
我有一个用于显示 pdf 文件的 PHP 文件。 pdf 文件包含从下面给出的 PHP 文件中获取的变量。
$areaOfCircle;
...
...
$pdf->WriteFixedPosHTML($areaOfCircle,20,50,'auto');
这里有我的 Unity 脚本
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class SendToServer: MonoBehavIoUr
{
public string areOfCircle;
IEnumerator Start()
{
WWWForm form = new WWWForm();
form.AddField("areaOfCircle",areOfCircle);
UnityWebRequest www = UnityWebRequest.Get("https://localhost/sqlconnect/myFirstPHP.PHP");
yield return www.SendWebRequest();
if (www.isNetworkError || www.isHttpError)
{
Debug.LogError(www.error);
}
else
{
Debug.Log("Sent");
}
}
}
我试图将字符串的值从 Unity 发送到 PHP,但我只收到错误消息。我在这里做错了什么?
解决方法
好吧,您根本没有发送表单或任何数据。
如果你想使用 POST
那么它应该是 UnityWebRequest.Post
UnityWebRequest www = UnityWebRequest.Post("https://localhost/sqlconnect/myFirstPhp.php",form);
如果您的 PHP 实际上期望 GET
那么您可能宁愿这样做
UnityWebRequest www = UnityWebRequest.Get($"https://localhost/sqlconnect/myFirstPhp.php?areaOfCircle={areOfCircle}&someSecondParameter{secondParameter}");
很遗憾没有看到您在 PHP 代码中设置 $areaOfCircle
变量的准确程度...
您可以在 url 中添加更多变量,以 & 字符分隔
UnityWebRequest.Get($"https://localhost/sqlconnect/myFirstPhp.php?areaOfCircle={areaOfCircle}&secondVariable={secondValue}");
在 PHP 中你可以使用它们
$areaOfCirle = $_GET["areaOfCircle"];
$secondVariable = $_GET["secondVariable"];