UI, feines Gespür!
Da steht tatsächlich bei beiden Versionen "0" als value für clang.
Warum tut es so??
- Code: Alles auswählen
<input type="hidden" name="clang" value="REX_CLANG_ID"/>
Ist das REX_CLANG_ID obsolete?
-->scheinbar.
Hiermit:
- Code: Alles auswählen
<input type="hidden" name="clang" value="<?php echo $REX['CUR_CLANG']; ?>"/>
wird die Clang ID richtig übergeben.
Umständlicher,...aber es funktioniert.
Neues Problem:Die ClangID wird zwar richtig übergeben, allerdings in der Eingabenvalidierungsfunction des Newsletters nicht richtig erkannt
Wichtig zu wissen ist hierzu, auf welche Weise zwischen der deutschen und englischen Version unterschieden wird:- Code: Alles auswählen
<?php
//------------------------------> Funktionen
global $language;
$language = $REX['CUR_CLANG'];
if ( !function_exists( 'add_newsletter_user'))
{
function add_newsletter_user( $name, $vorname, $email) {
if( $vorname == '')
{
if ($language == 0) {
$meldung = 'DEUTSCHE MELDUNG';
}
else {
$meldung = 'ENGLISCHE MELDUNG';
}
return $meldung;
}
//UND SO WEITER UND SOFORT ...
Für den zweiten Teil der Fehlermeldung, der in der richtigen Version angezeigt wird, ist dieser Part zuständig (er steht in keiner function!):
- Code: Alles auswählen
//------------------------------> Formularauswerten
$message = '';
if ( !empty($_POST['newsletter_anmelden']))
{
$result = add_newsletter_user( $_POST['newsletter_name'], $_POST['newsletter_firstname'], $_POST['newsletter_email1']);
if ( $result === true)
{
if ($language == 0)
$message .= 'Sie wurden erfolgreich für den Newsletter angemeldet!';
else if ($language == 1)
$message .= "You've been successfully registrated for our newsletter!";
}
else
{
if ($language == 0)
$message .= $result . '<br/>Anmeldung konnte <u>nicht</u> durchgeführt werden!';
else if ($language == 1)
$message .= $result . '<br/>Your registration was <u>not</u> successfull!';
}
}
//UND SO WEITER UND SOFORT ...
Verstehst du, warum innerhalb der Funktion
add_newsletter_user die Abfrage scheitert und die falsche Version angezeigt wird?
Interessant zu wissen ist vielleicht noch, dass, wenn ich
$language ausgebe, in der deutschen Version "0" und in der englischen Version tatsächlich "1" angezeigt wird.
Trotzdem wird in der Abfrage ($language == 0) in der englischen Version scheinbar als True ausgegeben.
Ich verstehe es einfach nicht
