Fehlermeldung in Formular falsche Sprache

Allgemeine Fragen
Briddylou
Mitglied (Level 1)
Mitglied (Level 1)
Beiträge: 8
Registriert: Mo 3. Mai 2021, 18:37

Fehlermeldung in Formular falsche Sprache

Ungelesener Beitrag von Briddylou »

Hallo,
ich habe hier https://b-l-photo.net/madland-meeting/abstracts.php
das unten gezeigte Formular verwendet. Alle Fehlermeldungen habe ich in Englisch umgetextet. Trotzdem erscheinen die Fehlermeldungen auf Deutsch. Außer wenn die Rechenaufgabe falsch ist, da erscheint mein englischer Text.
Wie kann denn das sein? Wo kommen die deutschen Meldungen her, die stehen doch gar nicht mehr im Code?
Und wie krieg ich das hin, dass die englischen Meldungen angezeigt werden?

<?php
/*
Aktion: Formulardaten als E-Mail versenden.
Formular - PHP 5.4+, Zeichenkodierung: UTF-8

Erstellt mit dem Formular Generator (11.04.2024) -
http://www.nof-tutorials.com/Webbaustei ... erator.php

Bitte testen Sie das Formular ausführlich und
beachten Sie die Hinweise im Quelltext!
*/

// PHP Fehlermeldungen (1 um das Formular zu testen) anzeigen.
error_reporting(1); // (0/1)

// Weiterleitung - Nach dem absenden des Formulars,
// gelangt der Benutzer über einen Link auf folgende Seite:
$Weiterleitung = "index.html";

$name = isset($_POST["name"]) ? strip_tags(trim($_POST["name"])) : ""; // Presenting author
$autor = isset($_POST["autor"]) ? strip_tags(trim($_POST["autor"])) : ""; // Other authors
$zugehoerigkeit = isset($_POST["zugehoerigkeit"]) ? strip_tags(trim($_POST["zugehoerigkeit"])) : ""; // Affiliations
$vorstellung = isset($_POST["vorstellung"]) ? strip_tags(trim($_POST["vorstellung"])) : ""; // Presentation

// Radiobutton: Presentation
$array = [
"&nbsp talk",
"&nbsp poster",
];
$vorstellungRB = "";
foreach ($array as $key => $value) {
$vorstellungRB .= "<label><input type='radio' name='vorstellung' value='" . $value . "'";
if (isset($_POST["vorstellung"])) {
if ($_POST["vorstellung"] == $value) {
$vorstellungRB .= " checked='checked'";
}
}
$vorstellungRB .= " required='required'>" . $value . "</label> &nbsp;\n ";
}

$titel = isset($_POST["titel"]) ? strip_tags(trim($_POST["titel"])) : ""; // Abstract titel
$text = isset($_POST["text"]) ? strip_tags(trim($_POST["text"])) : ""; // Text

// Benutzereingaben überprüfen
// Die Meldungen müssen hier eventuell angepasst werden.
$Fehler = ["name"=>"", "zugehoerigkeit"=>"", "vorstellung"=>"", "titel"=>"",
"text"=>"", "sicherheit"=>""];
if (isset($_POST["submit"])) {
$Fehler["name"] = strlen($_POST["name"]) < 1 ? "Please fill in this field!" : "";
$Fehler["zugehoerigkeit"] = strlen($_POST["zugehoerigkeit"]) < 1 ? "Please fill in this field!" : "";
$Fehler["vorstellung"] = isset($_POST["vorstellung"]) == "" ? "Please select an option!" : "";
$Fehler["titel"] = strlen($_POST["titel"]) < 1 ? "Please fill in this field!" : "";
$Fehler["titel"] .= strlen($_POST["titel"]) > 150 ? "A maximum of 150 characters is permitted!" : "";
$Fehler["text"] = strlen($_POST["text"]) < 1 ? "Please fill in this field!" : "";
$Fehler["text"] .= strlen($_POST["text"]) > 1500 ? "A maximum of 1500 characters is permitted!" : "";
$Fehler["sicherheit"] = (md5($_POST["zip"]) != $_POST["zip2"]) ? "The math problem is unfortunately incorrect!" : "";
}

// Sicherheitsabfrage - Rechenaufgabe
$Z0 = [mt_rand(1, 9), mt_rand(1, 9)];
$Z1 = max($Z0); $Z2 = min($Z0);
$Spam = $Z1 . " &#43; &#" . (48 + $Z2) . ";";
$Schutz = md5($Z1 + $Z2);

// Formular erstellen
$Formular = "
<form name='Form' action='" . $_SERVER["SCRIPT_NAME"] . "' method='post'>

<p>
<label> Presenting author:
<span class='pflichtfeld'>&#10034; " . $Fehler["name"] . "</span><br>
<input type='text' name='name' value='" . $name . "' size='91' required='required'>
</label>
</p>

<p>
<label> Other authors:<br>
<textarea name='autor' cols='80' rows='3'>" . $autor . "</textarea>
</label>
</p>

<p>
<label> Affiliations:
<span class='pflichtfeld'>&#10034; " . $Fehler["zugehoerigkeit"] . "</span><br>
<textarea name='zugehoerigkeit' cols='80' rows='3' required='required'>" . $zugehoerigkeit . "</textarea>
</label>
</p>

<p>
Presentation:
<span class='pflichtfeld'>&#10034; " . $Fehler["vorstellung"] . "</span>
<br>
" . $vorstellungRB . "
<br><span class='hilfetext'> PhD students funded by MAdLand have to give a talk! </span>
</p>

<p>
<label> Abstract titel:
<span class='pflichtfeld'>&#10034; " . $Fehler["titel"] . "</span><br>
<span class='hilfetext'>You have <strong id='Zeichen4'>150</strong> characters (including space).</span>
<textarea name='titel' cols='80' rows='3' maxlength='150' required='required' onKeyUp='CheckLen4()'>" . $titel . "</textarea>
</label>
</p>

<p>
<label> Text:
<span class='pflichtfeld'>&#10034; " . $Fehler["text"] . "</span><br>
<span class='hilfetext'>You have <strong id='Zeichen4'>1500</strong> characters (including space).</span>
<textarea name='text' cols='80' rows='10' maxlength='1500' required='required' onKeyUp='CheckLen5()'>" . $text . "</textarea>
</label>
</p>

<p>
<label> CAPTCHA:
<span class='pflichtfeld'>&#10034; " . $Fehler["sicherheit"] . "</span><br>
<em>" . $Spam . "</em> =
<input type='text' name='zip' size='4' pattern='[0-9]{1,2}' required='required' autocomplete='off'>
</label>
<input type='hidden' name='zip2' value='" . $Schutz . "'>
<br><span class='hilfetext'> Please solve the calculation problem. </span><br>
</p>

<p>
<br>
<input type='submit' name='submit' value='send form'>
</p>

<p>
<span class='hilfetext'>Please fill in all fields marked with <span class='pflichtfeld'>&#10034;</span>.</span>
</p>

</form>

<script>CheckLen4();CheckLen5();</script>
";

// Formular abgesendet
if (isset($_POST["submit"])) {

// Sind keine Benutzer-Eingabefehler vorhanden
if (implode("", $Fehler) == "") {

// Daten als E-Mail versenden (Vorschlag) - Bitte anpassen!

// Zeitzone und das aktuelle Datum setzen
// http://de3.php.net/manual/de/timezones.europe.php
date_default_timezone_set("Europe/Berlin");
$Datum = date("d.m.Y H:i");

// Empfänger E-Mail
$Mailto = "meeting2024@madland.science";
$betreff = "Abstract submission"; // Betreff

// Inhalt der E-Mail setzen
$Text = " sent on: $Datum h
Presenting author: $name
Other authors: $autor
Affiliations: $zugehoerigkeit
Presentation: $vorstellung
Abstract titel: $titel
Text: $text
";

// E-Mail versenden
mb_internal_encoding("UTF-8");
$Betreff = mb_encode_mimeheader($betreff, "UTF-8", "Q");
$Kopfzeile = "MIME-Version: 1.0;\nFrom: " . mb_encode_mimeheader($name, "UTF-8", "Q") .
"<" . $Mailto . ">" . "\nContent-Type: text/plain; Charset=UTF-8;\n";

if (mail($Mailto, $Betreff, $Text, $Kopfzeile)) {

echo "<p>Dear Participant,<br><br>
Thank you for submitting your abstract.<br><br>
Please note that MAdLand PhD students will have priority for talk slots. Therefore, we will inform you after the registration deadline regarding whether you have been assigned a talk or a poster presentation slot.<br><br>
In the event that you are selected for a talk, please be prepared for a twelve-minute presentation, followed by three minutes of discussion. Please stick to the time frame in order to ensure a smooth event.<br><br>
We are looking forward to see you!<br><br>
Kind regards,<br>
the MAdLand Annual Meeting 2024 organization team</p>";
}
else {

// Wenn die Daten nicht versendet werden konnten,
// wird die E-Mail-Adresse für den direkten Kontakt eingeblendet.
echo "<p>An error occurred when sending the abstract.<br>" .
"Please contact directly: meeting2024@madland.science</p>";
}

// Weiterleitung
echo "<p><a href='" . $Weiterleitung . "' target='_top'>Home</a></p>";
}
else {

// Formular und Benutzer-Eingabefehler ausgeben
echo $Formular;
}
}
else {

// Formular ausgeben
echo $Formular;
}
?>


Im Registrierungsformular https://b-l-photo.net/madland-meeting/registration.php übrigens das gleiche Phänomen. Das scheint mir daher ein grundsätzliches Problem zu sein. :confused:
Vielen Dank für Hilfe!
Grüße, Briddylou
Klaus
Supporter
Supporter
Beiträge: 446
Registriert: Mi 21. Jul 2021, 00:43

Re: Fehlermeldung in Formular falsche Sprache

Ungelesener Beitrag von Klaus »

Hab nur kurz geguckt, meinst Du die HTML5 Meldungen?
Die sind abhängig von der im Browser eingestellten Sprache.
Ist die Sprache des Browsers auf DE eingestellt kommen die Meldungen auch auf DE.
Briddylou
Mitglied (Level 1)
Mitglied (Level 1)
Beiträge: 8
Registriert: Mo 3. Mai 2021, 18:37

Re: Fehlermeldung in Formular falsche Sprache

Ungelesener Beitrag von Briddylou »

Ja, Du hast recht. Auf den komplett englisch eingestellten Rechnern der Wissenschaftler kommen die Meldungen auf Englisch. Ich hatte zum Test mal eben bei mir die Sprache im Firefox umgestellt, das hat so spontan nicht funktioniert, die Meldungen quasselten weiterhin auf Deutsch.
Witzig ist aber, dass manche Browser "netter" sind als andere. Da wird dann aus dem höflichen "Bitte füllen Sie das Feld aus!" ein herrisches "Füllen Sie das Feld aus!". :lachtot:
Antworten

Wer ist online?

Mitglieder in diesem Forum: Bing [Bot] und 21 Gäste