【发布时间】:2022-02-04 01:18:10
【问题描述】:
团结 2019.2.1f1
我已经尽可能多地查看了其他解决方案,但似乎没有一个能解决我的问题。
当使用 UnityWebRequest 或 WWW 将 WWWForm 发送到 php 时,表单数据永远不会被读取。
这是我使用 UnityWebRequest 的 c# 代码:
WWWForm formData = new WWWForm ();
formData.AddField ("firstname", "firstname");
UnityWebRequest www = UnityWebRequest.Post (URL, formData);
//www.chunkedTransfer = false; //<- Tested with this on and off and no difference
yield return www.SendWebRequest ();
if (www.isNetworkError || www.isHttpError)
{
Debug.Log (www.error);
}
else
{
Debug.Log ("Form upload complete!");
Debug.Log (www.downloadHandler.text);
}
这是 PHP 文件的样子:
<?php
$firstname = $_POST['firstname'];
echo "HELLO".$firstname."!!!!";
?>
我也尝试过使用旧的万维网方式:
WWWForm formData = new WWWForm ();
formData.AddField ("firstname", "firstname");
WWW www = new WWW("test.php",formData);
yield return www;
Debug.Log (www.text);
我从所有这些中得到的输出是:“HELLO!!!!”,而不是“HELLOfirstname!!!”。
我已经通过从 HTML 文件发送一个表单来测试 PHP 代码,它运行良好。
【问题讨论】:
-
在您的 PHP 上尝试
print_r($_REQUEST);。 -
WWWForm 是一个类。您需要代码从类中提取文本字符串并放入您的帖子中。
-
@BrettGregson 打印出一个空数组:“Array{}”。
-
你能在你的php端添加这个字符串吗:var_dump(file_get_contents("php://input"));
-
@myxaxa 这是它返回的内容:string(0) "" HELLO!!!!