Newsletter Addon - User An/Abmeldung - Clang springt zurück!

Bei Problemen/Anregungen mehrsprachiger Webseiten.

Newsletter Addon - User An/Abmeldung - Clang springt zurück!

Beitragvon gemüsebrühe » 25. Jan 2008, 17:51

Code: Alles auswählen
<form action="index.php" method="post">
  <input type="hidden" name="article_id" value="REX_ARTICLE_ID"/>
  <input type="hidden" name="clang" value="REX_CLANG_ID"/>


Damit wird das Formular abgeschickt.

Wenn ich mich allerdings beim Absenden in Clang 1 befinde, springt das Formular zur Auswertung zurück auf Clang 0.

Wie kann ich das verhindern?
So clickable, design is lickable.
Code is poetry.
Benutzeravatar
gemüsebrühe
 
Beiträge: 183
Registriert: 14. Feb 2007, 20:31

Beitragvon Markus.Staab » 25. Jan 2008, 17:53

Hi,

hast du mal im Browser geschaut, ob auch der richtig wert für die clang im hidden input drinne steht?

Gruß,
Markus
Benutzeravatar
Markus.Staab
Entwickler
 
Beiträge: 9755
Registriert: 29. Jan 2005, 14:50
Wohnort: Aschaffenburg/Germany

Beitragvon gemüsebrühe » 25. Jan 2008, 19:06

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 :roll:

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&uuml;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 :roll:
Zuletzt geändert von gemüsebrühe am 16. Mär 2008, 19:17, insgesamt 2-mal geändert.
So clickable, design is lickable.
Code is poetry.
Benutzeravatar
gemüsebrühe
 
Beiträge: 183
Registriert: 14. Feb 2007, 20:31

Beitragvon Markus.Staab » 25. Jan 2008, 21:25

Hi,

ich glaube da gabs mal nen Bug in der R3..

Gruß,
Markus
Benutzeravatar
Markus.Staab
Entwickler
 
Beiträge: 9755
Registriert: 29. Jan 2005, 14:50
Wohnort: Aschaffenburg/Germany

Beitragvon gemüsebrühe » 25. Jan 2008, 21:54

Hm, irgendwie bin ich ganz froh darüber :?

Zumindest muss ich mich jetzt nicht mehr totsuchen.


Die "Engländer" müssen also damit leben :P


Vielen Dank für deine Zeit, kills!
So clickable, design is lickable.
Code is poetry.
Benutzeravatar
gemüsebrühe
 
Beiträge: 183
Registriert: 14. Feb 2007, 20:31


Zurück zu Mehrsprachigkeit [R3]

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast