Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/unity3d/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
我不断地得到;IndexOutOfRangeException“;关于我的团结计划。统一+;PHP_Php_Unity3d_Authentication - Fatal编程技术网

我不断地得到;IndexOutOfRangeException“;关于我的团结计划。统一+;PHP

我不断地得到;IndexOutOfRangeException“;关于我的团结计划。统一+;PHP,php,unity3d,authentication,Php,Unity3d,Authentication,(我正试图学习本教程) 我试图在一个Unity项目中实现一个登录特性,我已经成功地完成了注册部分,它可以工作,但是我无法让登录部分工作 每次我试图从数据库中获取信息时,它都会给出C#上的“IndexOutOfRangeException”。 我认为问题在于PHP部分tho,因为C#看起来不错 C#代码 使用系统集合; 使用System.Collections.Generic; 使用UnityEngine; 使用UnityEngine.UI; 使用UnityEngine。联网; 使用System.

(我正试图学习本教程)

我试图在一个Unity项目中实现一个登录特性,我已经成功地完成了注册部分,它可以工作,但是我无法让登录部分工作

每次我试图从数据库中获取信息时,它都会给出C#上的“IndexOutOfRangeException”。 我认为问题在于PHP部分tho,因为C#看起来不错

C#代码

使用系统集合;
使用System.Collections.Generic;
使用UnityEngine;
使用UnityEngine.UI;
使用UnityEngine。联网;
使用System.Text.RegularExpressions;
公共类登录:MonoBehavior
{
公共输入字段名称字段、密码字段;
公共按钮提交按钮;
公共游戏对象弹出窗口;
公共文本;
public void CallLogin()
{
start例程(Login2());
}
IEnumerator登录名()
{
WWWForm form=新WWWForm();
form.AddField(“name”,namefield.text);
form.AddField(“密码”,passwordfield.text);
WWW=新WWW(“http://localhost/sqlconnect/login2.php“,表格);
收益率;
Debug.Log(www.text);
如果(www.text[0]=“0”)
{
bddManeger.username=namefield.text;
bddManeger.tempo=int.Parse(www.text.Split('\t')[1]);
}
其他的
{
Log(“用户登录失败。错误#”+www.text);
}
}
IEnumerator Login2()
{
WWWForm form=新WWWForm();
form.AddField(“name”,namefield.text);
form.AddField(“密码”,passwordfield.text);
UnityWebRequest www=UnityWebRequest.Post(“http://localhost/sqlconnect/login2.php“,表格);
返回www.SendWebRequest();
Log(www.downloadHandler.text);
如果(www.downloadHandler.text[0]=“0”)
{
bddManeger.username=namefield.text;
bddManeger.tempo=int.Parse(www.downloadHandler.text.Split('\t')[1]);
UnityEngine.SceneManagement.SceneManager.LoadScene(2);
}
其他的
{
Log(“用户错误:+www.downloadHandler.text”);
}
}
私有void更新()
{
验证输入();
}
公共无效验证输入()
{
submitButton.interactiable=(namefield.text.Length>=8&&passwordfield.text.Length>=8);
if(Input.GetKeyDown(KeyCode.Tab))
{
if(namefield.GetComponent().isFocused)
{
passwordfield.GetComponent().Select();
}
if(passwordfield.GetComponent().isFocused)
{
namefield.GetComponent().Select();
}
}
}
}
PHP


您的问题是UnityWebRequest。文本是字符串,您将其视为数组。根据需要编写一些脚本来解析字符串

由于www已被弃用,这里可能存在一个问题

  if (www.text[0] == '0')

改用wwform


您的问题是UnityWebRequest。文本是字符串,您将其视为数组。根据需要编写一些脚本来解析字符串

由于www已被弃用,这里可能存在一个问题

  if (www.text[0] == '0')

改用wwform

就在这里更新

我没有完全理解代码及其作用,代码中我的部分也有一些错误

但要感谢那些无论如何都想帮忙的人。

就在这里更新一下

我没有完全理解代码及其作用,代码中我的部分也有一些错误


但是感谢那些试图提供帮助的人。

哪一行有例外?在C上,错误在第53行,我目前正在使用协同程序Login2(我试图用UnityWebRequest而不是WWW),但我仍然认为这是PHP的一部分,我怀疑它在第16行和第22行之间。www.text或www.downloadhandler.text都是空数组,您试图获取第一个元素。我的意思是,我知道它们是空的,这就是为什么我怀疑PHP部分存在问题。我只是不知道为什么它们会空回来。所以,我“修复”了IndexOutOfRangeException,我在PHP文件上写了“$usename”而不是“$username”。但是现在it给了我一个错误“5:要么没有名字的用户,要么不止一个”。哪一行给出了例外?在C上,错误在第53行,我目前正在使用协同程序Login2(我试图用UnityWebRequest而不是WWW),但我仍然认为这是在PHP部分,我怀疑它在第16行和第22行之间。www.text或www.downloadhandler.text都是空数组,您试图获取第一个元素。我的意思是,我知道它们是空的,这就是为什么我怀疑PHP部分存在问题。我只是不知道为什么它们会空回来。所以,我“修复”了IndexOutOfRangeException,我在PHP文件上写了“$usename”而不是“$username”。但是现在it给了我一个错误“5:要么没有名字的用户,要么不止一个”。是的,这帮了我很大的忙,我只是在写我不完全理解的代码。谢谢。是的,这帮了我很大的忙,我只是在忙着写我不完全理解的代码。谢谢
  if (www.downloadHandler.text[0] == '0')
  if (www.text[0] == '0')