Wie kann ich die Fehler von PHP einzeln in der Unity-Konsole ausgeben?

Hallo,

wie schaffe ich es, die Fehler zu splitten und wenn es z.B. zwei Fehler sind, beide einzeln in Unity in der Konsole auszugeben?

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Networking;
using UnityEngine.UI;
using TMPro;
using System;
using Newtonsoft.Json;

public class RegisterUser : MonoBehaviour
{
  public TMP_InputField EmailInput;
  public TMP_InputField UsernameInput;
  public TMP_InputField PasswordInput;

  private void Update()
  {
  }

  public void RegisterButton()
  {
    StartCoroutine(Register(EmailInput.text, UsernameInput.text, PasswordInput.text));
  }

  IEnumerator Register(string email, string username, string password)
  {
    string url = "geheim";

    WWWForm form = new WWWForm();
    form.AddField("email", email);
    form.AddField("username", username);
    form.AddField("password", password);

    using (UnityWebRequest www = UnityWebRequest.Post(url, form))
    {
      yield return www.SendWebRequest();

      if www.result != UnityWebRequest.Result.Success)
      {
        Debug.Log("Error: " + www.error);
      }
      else
      {
        // hier Fehler checken
      }
    }
  }
}

Meine PHP if-Abfrage, wo mögliche Fehler ermittelt werden:

if (blablazeug) {
  if ($resultemail->num_rows > 0) {
    echo  "1"; // errorcode for already used email
  }

  if ($resultuser->num_rows > 0) {
    echo  "2"; // error code for already used username
  }

  if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
    echo  "3"; // error code for wrong email
  }

  if (strlen($username) < 4 || strlen($username) > 10 || !preg_match('/^[a-zA-Z0-9]+$/', $username)) {
    echo  "4"; // error code for wrong username conditions
  }

  if (strlen($password) < 6 || strlen($password) > 20 || !preg_match('/[0-9]+/', $password) || !preg_match('/[A-Z]+/', $password) || !preg_match('/[a-z]+/', $password) || !preg_match('/[.,!@#$%^&*()\-_=+{};:?]+/', $password)) {
    echo "5"; // error code for wrong password conditions
  }

  die();
}
C Sharp, Error, PHP, Programmiersprache, Visual Studio, Unity
Unity Loginsystem mit PHP 500 Error?

Hallo, wisst ihr vielleicht warum dieser Code nicht funktioniert?

Ich habe einen Root Server mit MariaDB, PHP 8.2 und phpMyAdmin.

Das ist mein Servercode:

<?php

  $servername = "localhost";
  $username = "blabla";
  $password = "blabla";
  $dbname = "blabla";

  // variables submited by user
  $loginUser = $_POST["loginUser"];
  $loginPass = $_POST["loginPass"];

  // Create connection
  $conn = new mysqli($servername, $username, $password, $dbname);

  // Check connection
  if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
  }

  echo "Conected successfully, now we will show the users.<br><br>";

  $sql = "SELECT password FROM users WHERE username = " . $loginUser;
  $result = $conn->query($sql);

  if ($result->num_rows > 0) {
    // output data of each row
    while ($row = $result->fetch_assoc()) {
      if ($row["password"] == $loginPass) {
        echo "login Success";
      }
      else {
        echo "wrong credentials";
      }
    }
  }
  else {
    echo "Username does not exist";
  }

  $conn->close();
?>

Das ist mein Unity-Code:

void Start()
{
  // A correct website page.
  StartCoroutine(Login("testuser", "123456"));
}

IEnumerator Login(string username, string password)
{
  WWWForm form = new WWWForm();
  form.AddField("loginUser", username);
  form.AddField("loginPass", password);

  using (UnityWebRequest www = UnityWebRequest.Post("http://blabla/Login.php", form))
  {
    yield return www.SendWebRequest();

    if www.result != UnityWebRequest.Result.Success)
    {
      Debug.Logwww.error);
    }
    else
    {
      Debug.Logwww.downloadHandler.text);
    }
  }
}

In Unity bekomme ich folgende Fehlermeldung:

Und wenn ich auf das PHP-Dokument im Internet gehe:

Danke für eure Hilfe.

Bild zum Beitrag
Webseite, Code, MySQL, PHP, Unity
Weitere Inhalte können nur Nutzer sehen, die bei uns eingeloggt sind.