c# - c#在UNITY中使用xampp和php登录
问题描述
大家好,所以我在 Unity 5 中开发了一个登录游戏,我成功地创建了一个注册表单,但即使用户名和密码正确,登录也总是说“登录失败”。我觉得我的代码只能识别“else”语句,因为我已经尝试过切换条件
这是C#代码
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using UnityEngine.SceneManagement;
public class DataLogin : MonoBehaviour {
public InputField inputUsername1;
public InputField inputPassword1;
public static string Username;
public static string Password;
string UserURL1 = "http://localhost/login.php";
void Start(){
}
void Update(){
}
// void OnMouseDown(Button insertButton){
// InsertData(inputUsername, inputPassword);
// }
public void Button_Click1(){
StartCoroutine(LoginData (inputUsername1, inputPassword1));
}
IEnumerator LoginData(InputField inputUsername1, InputField inputPassword1){
WWWForm form = new WWWForm ();
form.AddField ("username", inputUsername1.text);
form.AddField ("password", inputPassword1.text);
WWW www = new WWW (UserURL1, form);
yield return www;
if (www.text [0] == '0') {
Debug.Log ("User Login Success.");
} else {
Debug.Log ("User Login Failed.");
}
}
}
这是php代码
<?php
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "table_test";
$user = $_POST["username"];
$pass = $_POST["password"];
// Create connection
$conn = mysqli_connect($servername, $username, $password, $dbname);
// Check connection
if (!$conn) {
die("Connection failed: " . mysqli_connect_error());
}
$sql = " SELECT * FROM test WHERE username = '$user' AND password = '$pass'";
$result = mysqli_query($conn, $sql);
if ($result->num_rows > 0) {
while ($row = $result->fetch_assoc()) {
if ($row['username'] = $user && $row['password'] = $pass) {
echo ("Login Successfully");
} else {
echo ("Login Failed");
}
}
}
?>
解决方案
您正在检查 php 脚本的第一个字符的结果是否为“0”。
但是,在您的 PhP 脚本中,您永远不会返回“0”。你要么返回"Login Successfully"
,要么"Login Failed"
。
所以我建议你要么在你的 if 语句中检查它,要么你记录来自服务器的实际响应:
Debug.Log (www.text);
虽然我不确定这是否是正确的语法,因为您使用的是旧版本的 Unity。
此外,您的 Php 脚本容易受到 SQL 注入的攻击。查看这篇文章以获取有关该主题的更多信息
推荐阅读
- ruby - 在 iRuby 中显示多个图形
- c - 如何在 .NET 应用程序中执行 C 代码?
- gradle - Gradle 依赖版本后缀
- haskell - 量化约束与(封闭)类型族
- python - 拿起名字并在列表中找到一个'n'并创建一个新列表
- javascript - 为什么我的画布噪点功能总是只显示红色?
- file - 使用 perl 在文本文件中变量值的一个线性增量
- ios - Text 或 Image 等视图类型如何符合 SwiftUI 中的 View 协议?
- mysql - MySQL - 使用内部连接进行更新正在创建空值
- angular - Angular:模块解析失败:“导入”和“导出”可能只出现在顶层