Mailformular gesucht

Gesperrt
Simone
Beiträge: 193
Registriert: Fr 9. Sep 2005, 06:39
Kontaktdaten:

Mailformular gesucht

Beitrag von Simone »

Nachdem ich alle 31 Seiten des Forums durchsucht und nichts gefunden habe, muß ich Euch fragen, ob mir einer helfen kann.

Ich suche ein Mailformular, in dem User an einen oder mehrere Adressaten schreiben können. Ich habe das Mailformular aus der Contenido-Modulseite ausprobiert, aber leider lassen sich keine Adressaten eintragen. Ich bin Anfänger und habe in dem Script verschiedenes ausprobiert. Vielleicht funktioniert das Modul aber auch mit 4.4.5 nicht. An der Stelle, wo man den oder die Adressaten eingeben muß, läßt sich nichts eintragen. Das Feld ist ganz klein und wird beim Anklicken blau markiert, aber nichts rührt sich weiter.

Okay, was brauche ich? Ein User soll seinen Namen und seine Email eingeben, anschließend den Empfänger unter dem Muster vorname.nachname[at]firma.de (wenn es geht, auch mehrere und firma bleibt immer gleich), einen Betreff und Text.

Code: Alles auswählen


INPUT
echo "<table cellspacing=\"0\" cellpadding=\"10\" border=\"0\">
        <tr>
          <td>Adressaten-Namen:</td>
          <td><input type=\"text\" name=\"CMS_VAR[8]\" value=\"CMS_VALUE[8]\" size=70></td>
        </tr>
        <tr>
          <td>Adressaten-Emails:</td>
          <td><input type=\"text\" name=\"CMS_VAR[9]\" value=\"CMS_VALUE[9]\" size=70></td>
        </tr>
        <tr>
          <td colspan=2>Notieren Sie in den beiden Eingabefeldern eine gleiche Anzahl von Adressaten und Email-Adressen;
           trennen Sie die Einträge jeweils mit Kommata.</td>
        </tr>
      </table>";

OUTPUT
<?php
$email_to_name = explode(",","CMS_VALUE[8]");
$email_to_mail = explode(",","CMS_VALUE[9]");
if($mail == 1 && count($email_to)!==0)
{
 $header='From:'.$email_from_name.'<'.$email_from_mail.'>\n';
 for($x=0;$x<count($email_to_name);$x++){
  if(in_array($x,$email_to)) {
   $mailto .= $email_to_name[$x]." <".$email_to_mail[$x].">,";
   $adressat .= $email_to_name[$x]." ";
  }
 }
 mail("$mailto",$betreff,$kommentar,$header);
 echo '<p>Folgende Nachricht wurde versendet:</p>
<table border="1" cellpadding="3" cellspacing="0" width="100%">
 <tr>
  <td><p>Absender:</p></td>
  <td width="90%">';
 if ($email_from_mail=="") { echo '<i>keine Absenderangabe</i>'; }
 else { echo $email_from_name.' &l'.'t;'.$email_from_mail.'&g'.'t;'; }
 echo '</td>
 </tr>
 <tr>
  <td  class=text">Adressat(en):</td>
  <td width="90%">'.$adressat.'</td>
 </tr>
 <tr>
  <td class=text">Betreff:</td>
  <td width="90%">'.$betreff.'</td>
 </tr>
 <tr>
  <td colspan="2">'.nl2br($kommentar).'</td>
 </tr>
</table>';
} else
{
 echo '<form name="mail" action="'.$auth->url().'" method="post">
  <table border="0" cellpadding="0" cellspacing="0" width="100%">
   <tr>
    <td colspan="3">'; echo "<h1>CMS_HTMLHEAD[1]</h1>
     <span id=\"text\">CMS_HTML[1]</span>"; echo '</td>
   </tr>
   <tr>
    <td><img border="0" src="images/trans.gif" width="2" height="8"></td>
   </tr>
   <tr>
    <td><p>Ihr Name:</p></td>
    <td> </td>
    <td><input type="text" name="email_from_name" size="30" value="'.$email_from_name.'" class="Input"></td>
   </tr>
   <tr>
    <td><img border="0" src="images/trans.gif" width="2" height="8"></td>
   </tr>
   <tr>
    <td><p>Ihre Email:</p></td>
    <td> </td>
    <td><input type="text" name="email_from_mail" size="30" value="'.$email_from_mail.'" class="Input"></td>
   </tr>
   <tr>
    <td><img border="0" src="images/trans.gif" width="2" height="8"></td>
   </tr>
   <tr>
    <td valign="top"><p>Adressat:</p></td>
    <td> </td>
    <td><select name="email_to[]" size="'.count($email_to_name).'" multiple class="Input">';
 for($x=0;$x<count($email_to_name);$x++){
  echo '<option value="'.$x.'">'.$email_to_name[$x].'</option>';
 }
 echo '     </select>';
 if ($mail == 1) {
  echo '<br><i>Sie müssen mindestens einen Adressaten auswählen, um die Nachricht abschicken zu können.</i>'; }
 echo '  </td>
   </tr>
   <tr>
    <td><img border="0" src="images/trans.gif" width="2" height="8"></td>
   </tr>
   <tr>
    <td><p>Betreff:</p></td>
    <td> </td>
    <td><input type="text" name="betreff" size="30" value="'.$betreff.'" class="Input"></td>
   </tr>
   <tr>
    <td><img border="0" src="images/trans.gif" width="2" height="8"></td>
   </tr>
   <tr>
    <td valign="top"><p>Ihre Nachricht:</p></td>
    <td> </td>
    <td><textarea cols="35" rows="10" name="kommentar" style="width:200px" class="InputArea">'.$kommentar.'</text'.'area></td>
   </tr>
   <tr>
    <td><img border="0" src="images/trans.gif" width="2" height="8"></td>
   </tr>
   <tr>
    <td colspan="3" align="center"><input type="submit" value="Mail senden" name="submit" class="InputButton"></td>
    <input type="hidden" name="mail" value="1">
   </tr>
  </table>
 </fo'; echo 'rm>';
}
?>
[/img]
HerrB
Beiträge: 6935
Registriert: Do 22. Mai 2003, 12:44
Wohnort: Berlin
Kontaktdaten:

Beitrag von HerrB »

Ohne das es Dir jetzt hilft, kann ich Dir sagen, warum die Module die Funktionalität nicht bieten: Man kann ein solches Formular supi zum Spammen missbrauchen.

Unter Module sollte sich mindestens ein Modul zum Mail senden finden, bei dem man die Empfänger im Backend in der Konfiguration eintragen kann - dass sollte das Maximale sein, der Internetnutzer sollte den Empfänger nicht festlegen können...

Vielleicht finde ich es bei Gelegenheit.

Gruß
HerrB
Bitte keine unaufgeforderten PMs oder E-Mails -> use da Forum!

Newsletter: V4.4.x | V4.6.0-15 (Module, Backend) | V4.6.22+
Standardartikelliste: V4.4.x | V4.6.x
http://www.contenido.org/forum/search.php | http://faq.contenido.org | http://www.communido.net
Halchteranerin
Beiträge: 5478
Registriert: Di 2. Mär 2004, 21:11
Wohnort: Halchter, wo sonst? ;-)
Kontaktdaten:

Beitrag von Halchteranerin »

Simone, der Besucher braucht keine Mailadresse EINZUTRAGEN, es reicht, wenn er eine oder mehrere Adressen auswaehlen kann. Die gibst aber DU vor. Und es muss auch nicht unbedingt die Mailadresse angezeigt werden sondern es kann ein Name oder eine Funktion (z.B. Webmaster) stehen. Es gibt auf der Modulseite, glaube ich, ein Mailformular von agon, und von Darth Vader muss es hier in Module 4.4.x auch ein Modul geben. Das von Darth muesste auch unter www.forseth.de zu finden sein. Hier, ich hab's:
http://www.forseth.de/cms/front_content ... 1&client=1
Simone
Beiträge: 193
Registriert: Fr 9. Sep 2005, 06:39
Kontaktdaten:

Beitrag von Simone »

Hallo HerrB., hallo Halchteranerin

soweit verstehe ich, was Ihr meint - aber wo könnte ich an dem Script denn die Namen eintragen? Ich habe ja schon im Input alle Varianten ausprobiert, aber kein Erfolg.

Der Hinweis auf die Spammer ist sehr wichtig für mich. Ich fange ja erst mit Contenido an und kenne mich mit den eigentlichen Abläufen noch nicht so aus. Du meinst, dann wäre es auch nicht ratsam, die Mailadressen einzugeben, wenn man kein Mailformular macht? Ich hatte insgeheim gehofft, dass es bei Contenido anders wäre als bei HTML.
Bei HTML hatte ich immer den Javascriptbefehl für die Teilung der Mailadresse (head und body) genommen.
Oldperl
Beiträge: 4316
Registriert: Do 30. Jun 2005, 22:56
Wohnort: Eltmann, Unterfranken, Bayern
Hat sich bedankt: 6 Mal
Danksagung erhalten: 4 Mal
Kontaktdaten:

Beitrag von Oldperl »

In der Konfiguration deines Moduls, z.B. bei der Einbindung ins Template (Style->Templates->Vorkonfiguration) oder dann im Artikel (Content->Artikel->Konfiguration)

Bild

Die Adressaten werden dabei von dir vorgegeben.

Gruß aus Franken

Ortwin
ConLite 3.0.0-dev, alternatives und stabiles Update von Contenido 4.8.x unter PHP 8.x - Download und Repo auf Gitport.de
phpBO Search Advanced - das Suchwort-Plugin für CONTENIDO 4.9
Mein Entwickler-Blog
Simone
Beiträge: 193
Registriert: Fr 9. Sep 2005, 06:39
Kontaktdaten:

Beitrag von Simone »

hmm, I'm very begeistert. Ich danke Dir. Das hatte ich bei der Einrichtung gar nicht wahrgenommen 8) Es funktioniert!
Oldperl
Beiträge: 4316
Registriert: Do 30. Jun 2005, 22:56
Wohnort: Eltmann, Unterfranken, Bayern
Hat sich bedankt: 6 Mal
Danksagung erhalten: 4 Mal
Kontaktdaten:

Beitrag von Oldperl »

Gern geschehen :)

Im Verzeichnis (docs/handbuch) solltest du aber auch die Handbücher finden, da ist das ganze recht gut erklärt.

Ansonsten findest du die pdf-Dateien auf der Contenido Seite.

Guckst du hier :roll:

:arrow: http://www.contenido.org/opensourcecms/ ... a-104.html

Gruß aus Franken

Ortwin
ConLite 3.0.0-dev, alternatives und stabiles Update von Contenido 4.8.x unter PHP 8.x - Download und Repo auf Gitport.de
phpBO Search Advanced - das Suchwort-Plugin für CONTENIDO 4.9
Mein Entwickler-Blog
Simone
Beiträge: 193
Registriert: Fr 9. Sep 2005, 06:39
Kontaktdaten:

Beitrag von Simone »

Nun muß ich aber auch mal zu meiner Ehrenrettung sagen, daß im Handbuch von Contenido nichts über das Modul steht. Aber stimmt, ich hatte bei der Einrichtung genau den Teil nicht wahrgenommen, weil ich glaubte, ich müßte im Quellcode etwas eingeben. Aber man lernt dazu :lol:

Danke für das Verständnis.
Oldperl
Beiträge: 4316
Registriert: Do 30. Jun 2005, 22:56
Wohnort: Eltmann, Unterfranken, Bayern
Hat sich bedankt: 6 Mal
Danksagung erhalten: 4 Mal
Kontaktdaten:

Beitrag von Oldperl »

Simone hat geschrieben:Nun muß ich aber auch mal zu meiner Ehrenrettung sagen, daß im Handbuch von Contenido nichts über das Modul steht.
Das stimmt, ist wohl aber auch nicht angedacht jedes Modul im Handbuch zu erklären. Eine allgemeine Erklärung hab ich aber gefunden.
Contenido Handbuch Version 4.4 hat geschrieben:3.2.2 Module mit benutzerdefinierten Datenfeldern
Sie können im Input Bereich des Moduls Seite ein HTML-Formular deklarieren. Wenn Sie dann später
das Template für eine bestimmte Seite konfigurieren, wird Ihnen dieses Formular angezeigt.
Vorraussetzung dafür ist natürlich, dass sie das jeweilige Modul auch auswählen. Sie können dann
spezifisch für die Seite bestimmt Eingaben tätigen. Welche das sind und wie das Eingabeformular
aussieht, definieren Sie hier im Input Bereich des Moduls.
Im Input Feld selbst können Sie direkt PHP-Code notieren. Möchten Sie mit reinem HTML starten,
schließen Sie bitte zunächst den PHP-Block mit ?>. Die einzelnen Eingabeelemente des Formulars
benennen Sie mit dem Namen CMS_VAR[x], wobei x mit einer beliebigen Zahl größer-gleich Null
ersetzt wird.
Bei der Ausgabe (also im Feld „Output“) haben Sie nun die Möglichkeit, mit CMS_VALUE[x] auf die bei
der Template-Konfiguration eingegebenen Daten zuzugreifen. Dabei entspricht x der Zahl, die Sie
auch im Input Feld verwendet haben. Der Output-Bereich startet direkt im PHP-Modus, d.h. sie
müssen den PHP-Modus erst mit '?>' verlassen.
Simone hat geschrieben:Aber stimmt, ich hatte bei der Einrichtung genau den Teil nicht wahrgenommen, weil ich glaubte, ich müßte im Quellcode etwas eingeben. Aber man lernt dazu :lol:
Es gibt auch Module bei denen das möglich, ja sogar notwendig ist. Macht man im Modulcode, wenn man Variable im Modul setzen will die dann Mandantenweit gelten.
Simone hat geschrieben:Danke für das Verständnis.
Nicht doch dafür :oops:
Oder meinst du wir haben nicht mal alle angefangen 8)

Gruß aus dem verregneten Franken

Ortwin
ConLite 3.0.0-dev, alternatives und stabiles Update von Contenido 4.8.x unter PHP 8.x - Download und Repo auf Gitport.de
phpBO Search Advanced - das Suchwort-Plugin für CONTENIDO 4.9
Mein Entwickler-Blog
Simone
Beiträge: 193
Registriert: Fr 9. Sep 2005, 06:39
Kontaktdaten:

Beitrag von Simone »

Eine allgemeine Erklärung hab ich aber gefunden.
Contenido Handbuch Version 4.4 hat geschrieben:3.2.2 Module mit benutzerdefinierten Datenfeldern
Sie können im Input Bereich des Moduls Seite ein HTML-Formular deklarieren. Wenn Sie dann später
das Template für eine bestimmte Seite konfigurieren, wird Ihnen dieses Formular angezeigt.
Vorraussetzung dafür ist natürlich, dass sie das jeweilige Modul auch auswählen. Sie können dann
spezifisch für die Seite bestimmt Eingaben tätigen. Welche das sind und wie das Eingabeformular
aussieht, definieren Sie hier im Input Bereich des Moduls.
Im Input Feld selbst können Sie direkt PHP-Code notieren. Möchten Sie mit reinem HTML starten,
schließen Sie bitte zunächst den PHP-Block mit ?>. Die einzelnen Eingabeelemente des Formulars
benennen Sie mit dem Namen CMS_VAR[x], wobei x mit einer beliebigen Zahl größer-gleich Null
ersetzt wird.
Bei der Ausgabe (also im Feld „Output“) haben Sie nun die Möglichkeit, mit CMS_VALUE[x] auf die bei
der Template-Konfiguration eingegebenen Daten zuzugreifen. Dabei entspricht x der Zahl, die Sie
auch im Input Feld verwendet haben. Der Output-Bereich startet direkt im PHP-Modus, d.h. sie
müssen den PHP-Modus erst mit '?>' verlassen.
Ja, ja, aber da steht ja nicht, daß das Lämpchen grün leuchten muß
Darauf muß man erstmal kommen, wenn man ganz unten auf okay klickt und oben das Lämpchen gar nicht sieht.
:roll:
Gesperrt