在UNITY中使用xampp和php进行C#登录,可以通过以下步骤实现:
<?php
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "unity_login";
// 创建数据库连接
$conn = new mysqli($servername, $username, $password, $dbname);
// 检查连接是否成功
if ($conn->connect_error) {
die("连接失败: " . $conn->connect_error);
}
// 获取从UNITY发送的用户名和密码
$unity_username = $_POST["username"];
$unity_password = $_POST["password"];
// 查询数据库中是否存在匹配的用户名和密码
$sql = "SELECT * FROM users WHERE username = '$unity_username' AND password = '$unity_password'";
$result = $conn->query($sql);
// 返回结果给UNITY
if ($result->num_rows > 0) {
echo "登录成功";
} else {
echo "登录失败";
}
// 关闭数据库连接
$conn->close();
?>
using UnityEngine;
using UnityEngine.Networking;
using UnityEngine.UI;
public class LoginManager : MonoBehaviour
{
public InputField usernameInput;
public InputField passwordInput;
public Text resultText;
public void Login()
{
string username = usernameInput.text;
string password = passwordInput.text;
StartCoroutine(SendLoginRequest(username, password));
}
IEnumerator SendLoginRequest(string username, string password)
{
WWWForm form = new WWWForm();
form.AddField("username", username);
form.AddField("password", password);
using (UnityWebRequest www = UnityWebRequest.Post("http://localhost/unity_login/login.php", form))
{
yield return www.SendWebRequest();
if (www.result == UnityWebRequest.Result.Success)
{
resultText.text = www.downloadHandler.text;
}
else
{
Debug.Log("登录请求失败: " + www.error);
}
}
}
}
以上步骤完成后,当用户在UNITY中输入用户名和密码并点击登录按钮时,C#代码将发送POST请求到login.php脚本进行验证。login.php脚本将连接到数据库,验证用户名和密码,并将结果返回给UNITY。UNITY根据返回的结果进行相应的处理,例如显示登录成功或失败的提示信息。
注意:在实际生产环境中,需要对登录过程进行加密和安全性处理,以防止恶意攻击和数据泄露。
领取专属 10元无门槛券
手把手带您无忧上云