Seite 1 von 1

mailadresse aus input übergeben

Verfasst: Do 18. Jan 2007, 16:28
von Mc
Ich habe für ein Modul ein input erstellt. Funktioniert auch soweit. Nun möchte ich in einem Formularfeld im input eine Mailadresse eintragen und die an den output übergeben.

Wenn ich das tue, dann kommt folgende Fehlermeldung:

Code: Alles auswählen

Parse error: syntax error, unexpected '@' in /webrhrnq/www.webec.de/front_content.php(965) : eval()'d code on line 701
Muss ich die Mailadresse zerlegen und ohne @ übergeben, um sie dann im output wieder neu zusammen zu setzen? Oder gibt es andere Möglichkeiten? Warum funktioniert das eigentlich nicht?

Bei einer URL taucht ähnliches Problem auf. Hier ist es "://".

Vielen Dank für die Hilfe.

Gruß Mc

Verfasst: Fr 19. Jan 2007, 10:03
von emergence
ähm ?

wie sieht das modul aus ?

Verfasst: Fr 19. Jan 2007, 15:20
von Mc
Hallo ermergence,

hier mal der input. Interessant sind die beiden letzten Formularfelder Homepage und Mailadresse. Alle anderen Feldinhalte werden korrekt übergeben.


Code: Alles auswählen

/*********************************************** 
* CONTENIDO MODUL - INPUT 
* 
* Modulname:    links_admin_webec
* Author(s):    Mc (Juergen Becker - webec)
* Version:      1.3 
* Created:      04-01-2007
* Modified:     20-01-2007
* Beschreibung: Administration der Links; Artikel im geschuetzten Bereich
* Anpassung:    URL der eigenen Homepage, Mailadresse des Admin, Farben  
************************************************/ 

echo "
  <table width='100%'  border='0'> 
    <tr>
      <td>Kategorien in Zeile oder Liste:</td>
      <td>
	 <input type='radio' name='CMS_VAR[0]'";
              if ("CMS_VALUE[0]" == "liste") { 
                  echo "value='liste' checked='checked'>Liste"; 
              } 
              else { 
                  echo "value='liste'>Liste"; 
              } 
           echo "
           <input type='radio' name='CMS_VAR[0]'";
              if ("CMS_VALUE[0]" == "zeile") { 
                  echo "value='zeile' checked='checked'>Zeile"; 
              } 
              else { 
                  echo "value='zeile'>Zeile"; 
              }
echo "
      </td>
    </tr>
    <tr> 
      <td>Farbe des Tabellenrandes:</td> 
      <td><input type='text' name='CMS_VAR[1]' value='"; 
        if ("CMS_VALUE[1]" == "") { 
        echo "999999"; 
        } 
        echo "CMS_VALUE[1]"."'></td> 
    </tr>
    <tr> 
      <td>Zeilenfarbe bei mouse over:</td> 
      <td><input type='text' name='CMS_VAR[2]' value='"; 
        if ("CMS_VALUE[2]" == "") { 
        echo "D4DBF7"; 
        } 
        echo "CMS_VALUE[2]"."'></td> 
    </tr>
    <tr> 
      <td>Zeilenfarbe 1:</td> 
      <td><input type='text' name='CMS_VAR[3]' value='"; 
        if ("CMS_VALUE[3]" == "") { 
        echo "F0F0F0"; 
        } 
        echo "CMS_VALUE[3]"."'></td> 
    </tr>
    <tr> 
      <td>Zeilenfarbe 2:</td> 
      <td><input type='text' name='CMS_VAR[4]' value='"; 
        if ("CMS_VALUE[4]" == "") { 
        echo "DFE0E5"; 
        } 
        echo "CMS_VALUE[4]"."'></td> 
    </tr>
    <tr> 
      <td>Zeilenfarbe 3 - Linkliste:</td> 
      <td><input type='text' name='CMS_VAR[5]' value='"; 
        if ("CMS_VALUE[5]" == "") { 
        echo "DFE0E5"; 
        } 
        echo "CMS_VALUE[5]"."'></td> 
    </tr>
    <tr> 
      <td>Zeilenfarbe 4 - kein Datensatz:</td> 
      <td><input type='text' name='CMS_VAR[6]' value='"; 
        if ("CMS_VALUE[6]" == "") { 
        echo "FFFFFF"; 
        } 
        echo "CMS_VALUE[6]"."'></td> 
    </tr>
    <tr> 
      <td>Schriftfarbe bei Änderungen:</td> 
      <td><input type='text' name='CMS_VAR[7]' value='"; 
        if ("CMS_VALUE[7]" == "") { 
        echo "CC3333"; 
        } 
        echo "CMS_VALUE[7]"."'></td> 
    </tr>
    <tr> 
      <td>Farbe des Tabellenrandes bei Änderungen:</td> 
      <td><input type='text' name='CMS_VAR[8]' value='"; 
        if ("CMS_VALUE[8]" == "") { 
        echo "CC3333"; 
        } 
        echo "CMS_VALUE[8]"."'></td> 
    </tr>
    <tr> 
      <td>Zeilenfarbe bei Änderungen:</td> 
      <td><input type='text' name='CMS_VAR[9]' value='"; 
        if ("CMS_VALUE[9]" == "") { 
        echo "E2E2E2"; 
        } 
        echo "CMS_VALUE[9]"."'></td> 
    </tr>
    <tr> 
      <td>Zellenfarbe bei Änderungen:</td> 
      <td><input type='text' name='CMS_VAR[10]' value='"; 
        if ("CMS_VALUE[10]" == "") { 
        echo "CC3333"; 
        } 
        echo "CMS_VALUE[10]"."'></td> 
    </tr>
    <tr> 
      <td>Verzeichnis für die Bilder:</td> 
      <td><input type='text' name='CMS_VAR[20]' value='"; 
        if ("CMS_VALUE[20]" == "") { 
        echo "images"; 
        } 
        echo "CMS_VALUE[20]"."'></td> 
    </tr>
    <tr> 
      <td>eigene Homepage:</td> 
      <td><input type='text' name='CMS_VAR[21]' value='CMS_VALUE[21]'</td> 
    </tr>
    <tr> 
      <td>Mailadresse des Admin:</td> 
      <td><input type='text' name='CMS_VAR[22]' value='CMS_VALUE[22]'</td> 
    </tr>
  </table>";
Hier ein Teil des output:
Die Fehlermeldung kommt, wenn ich den output aufrufe (frontend und backend)

Code: Alles auswählen

//- Variablen aus input übernehmen ----------------------------
$Katbreak = CMS_VALUE[0]; //Darstellung der Kategorien in einer Zeile oder Liste
  if ($Katbreak == "liste") {  
     $br ="<br>";
  } else {
    $br ="&nbsp; ";
  }

$pfadimages = CMS_VALUE[20]; //Verzeichnis für die Bilder

//- Fuer Mailversand ----------------------------------------------------
$homepage = CMS_VALUE[21];//- eigene Homepage
$mail = CMS_VALUE[22]; //- Mailadresse des Admin



//- Farben festlegen ---------------------------------------------------
$bgc_border = CMS_VALUE[1];
$bgc_border = "\"#".$bgc_border."\""; //Farbe des Tabellenrandes
$bgc_mouse_over = CMS_VALUE[2];
Vielen Dank für die Hilfe
Gruß Mc

Verfasst: Fr 19. Jan 2007, 15:44
von Dodger77
Probier es doch mal bitte mit doppelten Anführungszeichen um die CMS_VALUE, CMS_VAR, ...:

Code: Alles auswählen

$mail = "CMS_VALUE[22]";

Verfasst: Fr 19. Jan 2007, 16:41
von Mc
Vielen Dank Dodger77,

es klappt. Nun kann ich das Modul Linkliste Webec http://contenido.org/forum/viewtopic.php?t=15188 weiter verbessern.

Eine Verständnisfrage: Warum klappt es bei den Farben ohne " " also z. B. $bgc_border = CMS_VALUE[1];

Wenn in der Variablen Sonderzeichen übergeben werden, geht das Auslesen nur mit " ", also
$mail = "CMS_VALUE[22]";

Gruß Mc

Verfasst: So 21. Jan 2007, 17:05
von HerrB
CMS-Variablen werden einfach komplett ersetzt (Search & Replace). Wenn also eine Variable nicht-numerische Zeichen enthält, kommt Murx bei raus:

Code: Alles auswählen

$hallo = CMS_VALUE[1]; -> $hallo = Funky@Yo;
Gruß
HerrB

Verfasst: So 21. Jan 2007, 17:13
von Mc
Vielen Dank

Gruß Mc