Seite 1 von 1

leere EDITOR seite / VORSCHAU wird gezeigt

Verfasst: Sa 26. Jun 2004, 13:24
von frogli
hallo leute

ich habe mir ein eigenes 'send-email/fomular' modul geschrieben.

leider zeigt die EDITOR seite beim artikel erstellen eine leere seite. vorschau wird angezeigt.

hier mein code

input:

Code: Alles auswählen

echo "<table cellspacing='0' cellpadding='5' border='0'> \n
          \t  <tr valign='top'> \n
          \t\t    <td>Name der Anfrage <br/> \n
          \t\t\t    <span style='font-size:10pt'>(erscheint im Betreff)</span></td> \n
          \t\t    <td><input type='text' name='CMS_VAR[1]' value='CMS_VALUE[1]' size='20'> \n
          \t  </tr> \n
          \t  <tr valign='top'> \n
          \t\t    <td>Name des Empfängers </td> \n
          \t\t    <td><input type='text' name='CMS_VAR[2]' value='CMS_VALUE[2]' size='20'> \n
          \t  </tr> \n
          \t  <tr valign='top'> \n
          \t\t    <td>Email des Empfängers </td> \n
          \t\t    <td><input type='text' name='CMS_VAR[3]' value='CMS_VALUE[3]' size='20'> \n
          \t  </tr> \n
          \t  <tr valign='top'> \n
          \t\t    <td>Eingabefeld für die Adresse </td> \n
          \t\t    <td><input type='checkbox' name='CMS_VAR[4]' value='checked' size='20' CMS_VALUE[4]> \n
          \t  </tr> \n
          \t  <tr valign='top'> \n
          \t\t    <td>Eingabefeld für Betreff </td> \n
          \t\t    <td><input type='checkbox' name='CMS_VAR[5]' value='checked' size='20' CMS_VALUE[5]> \n
          \t  </tr> \n
          \t  <tr valign='top'> \n
          \t\t    <td>Eingabefeld für Nachricht </td> \n
          \t\t    <td><input type='checkbox' name='CMS_VAR[6]' value='checked' size='20' CMS_VALUE[6]> \n
          \t  </tr> \n
          </table>";
output

Code: Alles auswählen

<?php

function validate_email ( $email, $check_domain=false )
{
    if (ereg('^[-!#$%&\'*+\\./0-9=?A-Z^_`a-z{|}~]+'.'@'.
        '[-!#$%&\'*+\\/0-9=?A-Z^_`a-z{|}~]+\.'.
        '[-!#$%&\'*+\\./0-9=?A-Z^_`a-z{|}~]+$', $email))
    {
        if ($check_domain && function_exists('checkdnsrr')) {
            list (, $domain)  = explode('@', $email);

            if (checkdnsrr($domain, 'MX') || checkdnsrr($domain, 'A')) {
                return true;
            }
            return false;
        }
        return true;
    }
    return false;
}


If (validate_email($_GET[from_email])) {
    $to = "CMS_VALUE[2]<CMS_VALUE[3]>";
    $subject = "CMS_VALUE[1]: $_GET[subject]";
    $from = "'$_GET[from_name]' <$_GET[from_email]>";



    $message = "<html>
                <style type='text/css'>
                        a:link {
                            color: #000000;
                        }
                        a:visited {
                            color: #000000;
                        }
                        a:hover {
                            color: #000000;
                        }
                        a:active {
                            color: #000000;
                        }
                </style>



                <body style='font-family:Arial, Helvetica; font-weight: bolder ; color:#000000; font-size: 10pt'>

                <p>Name: $_GET[from_name]</p> \n
                <p>Email: $_GET[from_email]</p> \n";

    If ($_GET[from_PLZ]){
        $message .= "<p>Adresse: $_GET[from_adresse], $_GET[from_PLZ] $_GET[from_Ort]</p> \n";
    }

    If ($_GET[from_message]){
        $message .= "<p>Nachricht: <br/> $_GET[message]</p> \n";
    }


    $message .= "</body></html>";


    mail($to, $subject, $message, "From: $from\nX-Mailer: System33r");
    echo "Mail message sent : \nTo : $to\nFrom : $from\nSubject : $subject\nMessage : $message";

    exit;
}
# Name der Anfrage (erscheint im Betreff): -> CMS_VALUE(1)
# Email an (Name): -> CMS_VALUE(2)
# Email-Adresse: -> CMS_VALUE(3)
# Eingabefeld für die Adresse -> CMS_VALUE(4) = 1
# Eingabefeld für Betreff -> CMS_VALUE(5) = 1
# Eingabefeld für Nachricht -> CMS_VALUE(6) = 1



echo "
<form action='$PHP_SELF'; METHOD='GET'>
<table>
 <tr>
  <td>Name</td>
  <td colspan ='3' width='100%'><input size ='40' type='text' name='from_name' value='$_GET[from_name]'></td>
 </tr>
 <tr>
  <td>Email</td>
  <td  colspan ='3'><input size ='40' type='text' name='from_email' value='$_GET[from_email]'></td>
 </tr>
";


if ('CMS_VALUE[4]'=='checked'){
    echo "
 <tr>
  <td>Ort</td>
  <td><input type='text' size ='21' name='Ort' value='$_GET[from_Ort]'></td>
  <td>PLZ</td>
  <td><input type='text' size ='8' name='PLZ' value='$_GET[from_PLZ]'></td>
 </tr>
    ";
}

 if ('CMS_VALUE[5]'=='checked'){
    echo "
 <tr>
  <td>Betreff</td>
  <td colspan ='3'><input type='text' size ='40' name='subject' value='$_GET[subject]'></td>
 </tr>
    ";
}

if ('CMS_VALUE[6]'=='checked'){
    echo "
 <tr>
  <td colspan ='4'><textarea name='message' cols='36' rows='8'>$_GET[from_message]</textarea></td>
 </tr>
    ";
}


echo "

</table>
<input type='hidden' name='idcat' value='$_GET[idcat]'>
<input type='submit' value='Senden'></form>";


?>

danke für jede hilfe.

Verfasst: Sa 26. Jun 2004, 19:11
von timo
schau mal ins errorlog.txt, was dort steht.

Verfasst: So 27. Jun 2004, 13:42
von frogli
diese fehlermeldung spukt er aus.
[27-Jun-2004 14:39:13] PHP Parse error: parse error in /xxxxx/contenido/includes/include.con_editcontent.php(571) : eval()'d code on line 615

Verfasst: Di 29. Jun 2004, 11:51
von frogli
hi timo

kannst du etwas mit der fehlermeldung anfangen, und mir weiter helfen?

lg frogli

Verfasst: Di 29. Jun 2004, 12:05
von timo
steht doch in der Fehlermeldung: Ein Parse Error in deinem Modul. Behebe den Fehler, und dann sollte es laufen.

achso

Verfasst: Di 29. Jun 2004, 12:16
von frogli
sorry habe nicht gewusst dass es auf mein code direkt bezieht. danke

habe das problem lokalisiert

Verfasst: Di 29. Jun 2004, 14:42
von frogli
hi timo

ich habe das problem lokalisiert. leider aber nicht gelöst.

ich habe mein code an der problemstelle gespalten (siehe unten).

kannst du mir eine vernünftige erklärung geben warum das programm mit dieser variable probleme hat?

Code: Alles auswählen

<?php

function validate_email ( $email, $check_domain=false )
{
    if (ereg('^[-!#$%&\'*+\\./0-9=?A-Z^_`a-z{|}~]+'.'@'.
        '[-!#$%&\'*+\\/0-9=?A-Z^_`a-z{|}~]+\.'.
        '[-!#$%&\'*+\\./0-9=?A-Z^_`a-z{|}~]+$', $email))
    {
        if ($check_domain && function_exists('checkdnsrr')) {
            list (, $domain)  = explode('@', $email);

            if (checkdnsrr($domain, 'MX') || checkdnsrr($domain, 'A')) {
                return true;
            }
            return false;
        }
        return true;
    }
    return false;
}


If (validate_email($_GET[from_email])) {
    $to = "CMS_VALUE[2]<CMS_VALUE[3]>";
    $subject = "CMS_VALUE[1]: $_GET[subject]";
    $from = "'$_GET[from_name]' <$_GET[from_email]>";



    $message = "<html>
                <style type='text/css'>
                <!--
                        a:link {
                            color: #000000;
                        }
                        a:visited {
                            color: #000000;
                        }
                        a:hover {
                            color: #000000;
                        }
                        a:active {
                            color: #000000;
                        }
                -->
                </style>

                <body style='font-family:Arial, Helvetica; font-weight: bolder ; color:#000000; font-size: 10pt'>

                <p>Name: $_GET[from_name]</p> \n
                <p>Email: $_GET[from_email]</p> \n";

    If ($_GET[from_PLZ]){
        $message .= "<p>Adresse: $_GET[from_adresse], $_GET[from_PLZ] $_GET[from_Ort]</p> \n";
    };

    If ($_GET[from_message]){
        $message .= "<p>Nachricht:  <br/> $_GET[message]</p> \n";
    };

   $message .= "</body></html>";
$message .= "</body></html>";

verursacht ein problem. warum?

wenn ich es unter /* */ setze gibt es keine problem mit # schon.


Code: Alles auswählen

 



    mail($to, $subject, $message, "From: $from\nX-Mailer: System33r");
    echo "Mail message sent : \nTo : $to\nFrom : $from\nSubject : $subject\nMessage : $message";

    exit;
}
# Name der Anfrage (erscheint im Betreff): -> CMS_VALUE(1)
# Email an (Name): -> CMS_VALUE(2)
# Email-Adresse: -> CMS_VALUE(3)
# Eingabefeld für die Adresse -> CMS_VALUE(4) = 1
# Eingabefeld für Betreff -> CMS_VALUE(5) = 1
# Eingabefeld für Nachricht -> CMS_VALUE(6) = 1

echo "
<form action='$PHP_SELF'; METHOD='GET'>
<table>
 <tr>
  <td>Name</td>
  <td colspan ='3' width='100%'><input size ='40' type='text' name='from_name' value='$_GET[from_name]'></td>
 </tr>
 <tr>
  <td>Email</td>
  <td  colspan ='3'><input size ='40' type='text' name='from_email' value='$_GET[from_email]'></td>
 </tr>
";


if ('CMS_VALUE[4]'=='checked'){
    echo "
 <tr>
  <td>Ort</td>
  <td><input type='text' size ='21' name='Ort' value='$_GET[from_Ort]'></td>
  <td>PLZ</td>
  <td><input type='text' size ='8' name='PLZ' value='$_GET[from_PLZ]'></td>
 </tr>
    ";
}

 if ('CMS_VALUE[5]'=='checked'){
    echo "
 <tr>
  <td>Betreff</td>
  <td colspan ='3'><input type='text' size ='40' name='subject' value='$_GET[subject]'></td>
 </tr>
    ";
}

if ('CMS_VALUE[6]'=='checked'){
    echo "
 <tr>
  <td colspan ='4'><textarea name='message' cols='36' rows='8'>$_GET[from_message]</textarea></td>
 </tr>
    ";
}


echo "

</table>
<input type='hidden' name='idcat' value='$_GET[idcat]'>
<input type='submit' value='Senden'></form>";


?>

danke

Verfasst: Do 1. Jul 2004, 02:52
von SkyBlader
veruschs mal damit

Code: Alles auswählen

$message .= "</bo"."dy></ht"."ml>"; 

Verfasst: Do 1. Jul 2004, 07:25
von SkyBlader
argxxxxxxxxxxxxxx ....

du mußt im OUTPUT Modul bei den Angaben von CMS_VALUE[x] darauf achten, das diesee durch die doppelten Anführungszeichen umschlossen sind, und nciht mit einzelnen.

Code: Alles auswählen

Bsp:

echo "CMS_VALUE[1]";

anstatt

echo 'CMS_VALUE[1]';
Hatte dieses Problem auch schon mal, bin nur nicht mehr drauf gekommen.

Möchte dir aber noch einen Allgemeinen TIP mit auf den weg geben zum Thema Value/Var

Definier sowohl im OUTPUT wie acuh Input die Vals/Vars oben zentrals als Variabeln, und verwende im weitern Code nur die Variabel ... dadruch hast du die zentrale Steuerung oben, und bei einer evtl umkonfiguration kann dir nicht ne einzelne stelle im Code durch die Finger schlüpfen.

Code: Alles auswählen

Beispiel:

INPUT:
=====

$l1_1 = "CMS_VAR[1]";
$l1_2 = "CMS_VALUE[1]";
$l2_1 = "CMS_VAR[2]";
$l2_2 = "CMS_VALUE[2]";

.......
......
echo "<td class=\"text_medium\">< inpu ..... name=\"".$l1_1."\" value=\"".$l1_2."\"></td>";

usw


und im Output

$l1_2 = "CMS_VALUE[1]";
$l2_2 = "CMS_VALUE[2]";

.....

if ( $l1_2 == "blub" ) { echo "hurra"; } else { echo "grrrr"; }
so long

Stefan

super

Verfasst: Fr 2. Jul 2004, 22:28
von frogli
danke hat funktioniert.

Verfasst: Fr 2. Jul 2004, 22:31
von SkyBlader
na dann ist doch wunderbar ;)