MySQL Übersetzung

Es sieht so aus, als ob das Problem bei der Zuordnung der Übersetzungen liegt. Sie müssen sicherstellen, dass die Übersetzungen korrekt definiert sind, damit die Übersetzung in die gewünschte Richtung erfolgt. Hier ist der korrigierte Code, der die Übersetzungen in die richtige Richtung durchführt:

<?php
// Fehlermeldungen aktivieren
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);

// Verbindungsinformationen
$servername = "mysql33.1blu.de";
$username = "s344558_3490800";
$password = "PLZBerlin?15345";
$database = "db344558x3490800";

// Verbindung herstellen
$conn = new mysqli($servername, $username, $password, $database);

// Verbindung überprüfen
if ($conn->connect_error) {
    die("Verbindung fehlgeschlagen: " . $conn->connect_error);
}

// Wenn das Formular zum Einfügen von Übersetzungen gesendet wurde
if ($_SERVER["REQUEST_METHOD"] == "POST" && isset($_POST['submit_translation'])) {
    // Überprüfen, ob die Felder nicht leer sind
    if (!empty($_POST['deutsch']) && !empty($_POST['englisch']) && !empty($_POST['russisch'])) {
        // Daten aus dem Formular abrufen
        $deutsch = $_POST['deutsch'];
        $englisch = $_POST['englisch'];
        $russisch = $_POST['russisch'];

        // SQL-Abfrage zum Einfügen der Daten
        $sql = "INSERT INTO uebersetzungen (deutsch, englisch, russisch) VALUES ('$deutsch', '$englisch', '$russisch')";

        // Überprüfen, ob das Einfügen erfolgreich war
        if ($conn->query($sql) === TRUE) {
            echo "Neuer Datensatz erfolgreich eingefügt.";
        } else {
            echo "Fehler beim Einfügen des Datensatzes: " . $conn->error;
        }
    } else {
        echo "Bitte füllen Sie alle Felder aus.";
    }
}

// Wenn das Formular zum Übersetzen des Textes gesendet wurde
if ($_SERVER["REQUEST_METHOD"] == "POST" && isset($_POST['submit_translation_text'])) {
    // Überprüfen, ob das Textfeld nicht leer ist
    if (!empty($_POST['text'])) {
        // Text aus dem Formular abrufen
        $text = $_POST['text'];

        // SQL-Abfrage zum Abrufen der Übersetzungen
        $sql = "SELECT * FROM uebersetzungen";
        $result = $conn->query($sql);

        // Array zum Speichern der Übersetzungen erstellen
        $translation = array();

        // Übersetzungen in ein Array speichern
        if ($result->num_rows > 0) {
            while ($row = $result->fetch_assoc()) {
                // Hier wird die Übersetzung in die richtige Richtung gesetzt
                $translation[$row['englisch']] = $row['deutsch'];
            }
        }

        // Text übersetzen
        $translated_text = strtr($text, $translation);

        // Ausgabe der übersetzten Text
        echo "<p>Übersetzter Text: $translated_text</p>";
    } else {
        echo "Bitte geben Sie einen Text ein.";
    }
}

// Verbindung schließen
$conn->close();
?>

<!DOCTYPE html>
<html>
<head>
    <title>Daten einfügen</title>
</head>
<body>

<h2>Daten einfügen</h2>

<form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]); ?>">
    Englisch: <input type="text" name="englisch"><br><p>
    Deutsch: <input type="text" name="deutsch"><br><p>
    Russisch: <input type="text" name="russisch"><br><p>
    <input type="submit" name="submit_translation" value="Einfügen"><p><p>
</form>

<h2>Text übersetzen</h2>

<form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]); ?>">
    Text: <textarea name="text" rows="4" cols="50"></textarea><br>
    <input type="submit" name="submit_translation_text" value="Übersetzen">
</form>

</body>
</html>

Diese Korrektur sollte sicherstellen, dass die Übersetzung von Englisch nach Deutsch erfolgt, wie Sie es beabsichtigt haben.