Alex: Formmail: Mail an user senden, nicht an mich!?

hallo!
Hier noch mein letztes Problem, das ich auf dem Herzen habe:
Wie kann ich bei einem formmail script die eingegebenen Daten und evtl von der HP übernommene Daten an die email-adresse die der user gerade eingegeben hat senden? Normalerweise steht da ja immer ne feste Adresse im html Code, wie würde das aussehen?
Gibts ein Script, das das wohl kann? Kann man dann trotzdem die gleiche mail gleichzietig nich an mich oder eine Datei senden?
Gruß
Alex

  1. Hallo Alex,

    Hier noch mein letztes Problem, das ich auf dem Herzen habe:

    genau das habe ich befürchtet und deshalb kommt jetzt doch der Hin-
    weis:

    Das SELFHTML-Forum ist kein (typisches) Anfängerforum.
    Zitat aus der Forumshauptdatei (ganz oben):
    "Dies ist ein Forum als Ergänzung zu SELFHTML. Von allen hier
     Teilnehmenden werden HTML-Grundkenntnisse erwartet. Es wird
     erwartet, daß bei Problemen erst einmal in SELFHTML oder anderen
     Hilfen nach einer Lösung gesucht wird."
    Besonders dem letzten Teil solltest Du Beachtung schenken, eine Un-
    menge solcher Informationsquellen findest Du über die Einstiegsseite
    von SELFHTML </selfaktuell/>

    Unternehme von dort Surftouren, wenn sich mal wieder eine Frage
    auftut, mit sehr hoher Wahrscheinlichkeit steht die Antwort schon
    irgendwo, die excellente Suchfunktion (</cgi-local/self/such.pl>)
    hilft Dir dabei.

    Vor weiteren Postings hier im Forum bitte auchmal bei den FAQ vor-
    beischauen, findest Du unter </selfaktuell/forum/faq/>

    Es wäre schön, wenn Du meine Ratschläge beherzigst, es erspart Dir
    einige (unnötige) Fragen hier im Forum und wenn dann mal wirklich
    etwas nicht lösbar ist, dann hierher damit :)

    Viele Grüße aus Dresden,
    Stefan Einspender

    1. genau das habe ich befürchtet und deshalb kommt jetzt doch der Hin-
      weis:

      sorry, aber ich glaub Du hast nicht ganz verstanden wonach ich Suche! Vor allem bin ich nicht grade auf die Idee gekommen und hab gedacht sollt Ihr hier ruhig für mich die Programmierarbeit leisten! Ich hab halt bis heute kein so  gut besuchtes Forum gefunden, und wollte nur eben alle meinen wichtigsten momentanen Probleme posten, und ich Suche schon länger nach Lösungen hierfür!
      Und erzähl mir bloß nicht das wären Anfängerfragen, ich bin mir 100%ig sicher das es hierfür keine Anleitung bei euch gibt!
      Ich fand die Frage fast zu speziell, da sie sich eigentlich ume ien ziemlich spezielles cgi script dreht!
      Sorry, aber ich kann nicht verstehen, dass ihr euch so aufregt!
      Alex

      1. sorry, aber ich glaub Du hast nicht ganz verstanden wonach ich Suche! Vor allem bin ich nicht grade auf die Idee gekommen und hab gedacht sollt Ihr hier ruhig für mich die Programmierarbeit leisten!

        doch ich habe es schon verstanden, diese "Ausnutzermentalität" be-
        gegnet mir nicht zum ersten Mal, 4 neue Threads innerhalb kurzer
        Zeit sind dafür ein eindeutiges Zeichen :(

        Ich hab halt bis heute kein so  gut besuchtes Forum gefunden, und wollte nur eben alle meinen wichtigsten momentanen Probleme posten, und ich Suche schon länger nach Lösungen hierfür!

        Genau da liegt das Problem, Du hast es _heute_ gefunden und leider
        nicht die Hinweise berücksichtigt, die deutlich sichtbar am oberen
        Rand und auch auf neu.shtml stehen.
        Bestimmt sind hier die "Regeln" etwas strenger, als in anderen
        Foren, aber das SELFHTML Forum ist nicht irgendein anderes Forum,
        es ist in vielen Belangen DAS deutschsprachige Forum zu diesem
        Thema, was sowohl Quantität als auch _Qualität_ der Teilnehmer
        betrifft.
        Die Lösungen auf Deine momentan wichtigsten Probleme sind mit sehr
        hoher Wahrscheinlichkeit ausgehend von </selfaktuell/> auffindbar,
        ohne ein einziges Posting hier im Forum zu schreiben.

        Und erzähl mir bloß nicht das wären Anfängerfragen, ich bin mir 100%ig sicher das es hierfür keine Anleitung bei euch gibt!

        Wenn Du gern eine Wette verlierst, dann wäre es jetzt der geeignete
        Zeitpunkt, eine abzuschließen ;)

        Ich fand die Frage fast zu speziell, da sie sich eigentlich ume ien ziemlich spezielles cgi script dreht!
        Sorry, aber ich kann nicht verstehen, dass ihr euch so aufregt!

        Wie ich schon sagte, suche _vorher_ im SELFRAUM, versuche _vorher_
        eine Lösung zu finden (SELF kommt von selbermachen ...) und poste
        dann Dein Problem.

        1. Hallo Alex,

          um Dir und mir Zeit zu sparen, werde ich diese Diskussion nicht
          fortsetzen.
          Für Dich nicht, weil ich schon die wichtigsten Punkte gesagt habe,
          wenn Du sie berücksichtigst, wirst Du bestimmt schon bald viel
          Freu(n)de hier finden.
          Für mich nicht, weil mir die Diskussion mittlerweile zu müßig ist.

          Viele Grüße aus Dresden,
          Stefan Einspender

        2. Hallo Stefan!

          keine Anrede? keine Grüsse aus Dresden?
          Hat dein Bookmarklet etwa versagt *fg* oder die Nerven ;-)

          lg Bernhard

          1. Hallo Bernhard,

            keine Anrede? keine Grüsse aus Dresden?

            siehe <?m=128405&t=24665>, obwohl da hätte ich ja noch ein "Stefan"
            druntersetzen müssen, sorry ;)

            Hat dein Bookmarklet etwa versagt *fg* oder die Nerven ;-)

            Beides, es quietscht schonwieder, da muß ich erstmal Öl kaufen und
            der Laden hat auch gerade zu :(
            Also erstmal http://www.ab-insbett.de, good n8

            Viele Grüße aus Dresden,
            Stefan Einspender

        3. Hi!
          Nochmal sorry, ich wollte hier bestimmt niemanden ausnutzen und erst recht niemanden verärgern!
          Ich war wie gesagt  froh so ein Forum gefunden zu haben und hab die Sachen halt gepostet.
          Naja, jedenfalls finde ich nirgendwo eine Lösung für meine Probleme(bis auf das Farben Problem, danke nochmal), muß ich halt weitersuchen.
          Auch in Eurer Dokumentetion finde ich da nix, ist zwqar wahnsinnig viel und auch gut und genau erklährt, aber z.B. bei Formularen stehen nur Sachen, die ich schon weiß. Bei CGI/Perl steht zwar so einiges aber auch nichts so spezielles, wie ich es suche. OK, kann sein, wenn ich mir das genauer angucke, dass ich damit schon evtl ein mit dem Script ein neies Formular mit gespeicherten tags ausgeben kann, o bwohl ich nicht weiß, ob man die html Sachen in das Script schreiben muß, oder ob man auch Tags in ein externes html Formular schreiben kann.
          Mein Problem ist immer noch, wie ich Daten aus einer Tabelle, sei es über einen Link oder wie auch immer, in ein Formular bekomme. D.h. ich will, dass die hidden tags in dem Formular nicht feststehen, sondern dass da, je nachdem von welchem Link aus das Formular geöffnet wurde, mit diesen Werten belegt sind. Vielleicht bin ich auch einfach zu doof das zu finden, deswegen bitte ich nur, dass mir evtl jemand kuz sagt, WO ich dazu was finde, ich will bestimmt keinen fertigen Code, den ich einfach nur noch einsetzen muß!
          Gruß
          Alex
          Gruß
          Alex

          1. Hallo Alex!

            Nochmal sorry, ich wollte hier bestimmt niemanden ausnutzen und erst recht niemanden verärgern!

            Es wird hier einfach eine gewisse Nettiquette erwartet, die manche Benutzern nicht respektieren, und vielen vielleicht nicht bekannt ist. Dass man zuerst mal zumindest die Forums-Hauptdatei durchliest, ob a) ev. das Problem schon wo behandelt ist, und b) man einen ungefähren Eindruck bekommt wies hier so zugeht. Und erster Anlaufpunkt überhaupt sind die FAQ!

            Ich war wie gesagt  froh so ein Forum gefunden zu haben und hab die Sachen halt gepostet.

            Recht so, wenn man höflich bleibt, oder seine im Übermut gemachten Fehler einsieht, wird man hier immer weitergehlofen ;-) Allerdings sollte die Zeit schon in genügendem Ausmass vorhanden sein, um nicht gleich vier Postings hintereinander loszulassen, sondern die Überlegung anstellt, seine Probleme möglichst kompakt in möglichst einem Posting darzustellen, was in deinem Fall ohne weiteres möglich gewesen wäre ;-)

            Es gab in der Vergangenheit Leute, die sind hier hereingestürmt, haben uns innerhalb von wenigen Tagen mit dutzenden Postings beglückt, so, dass es den Eindruck erweckte dieses Forum sei praktisch ihr Wohnzimmer, und wir die Hausmädchen. Das war schon der Grund für ziemlich viel Zank und Ärger der leicht vermieden hätte werden können, wenn die Leute etwas mehr Respekt und "Selfverständnis" an den Tag legten :-(

            OK, kann sein, wenn ich mir das genauer angucke, dass ich damit schon evtl ein mit dem Script ein neies Formular mit gespeicherten tags ausgeben kann, o bwohl ich nicht weiß, ob man die html Sachen in das Script schreiben muß, oder ob man auch Tags in ein externes html Formular schreiben kann.

            Was meinst du mit "Tags"? Tags werden nicht gespeichert, es werden wenn schon Tags, dann Daten in Formularfelder abgelegt, die man mittels Tags in eine Seite einbinden kann! Ungenaue Beschreibungen lassen Probleme oft komplexer erscheinen als sie sind.

            ja, du gibst jede Zeile deines HTML-Dokuments, das angezeigt werden soll, einzeln aus, und zwar mit print "<html>....."; Dabei hast du den Vorteil Variablen gleich mit ausgeben zu können, das ist ja schleisslich der Sinn hnter dem ganzen ;-)

            Mein Problem ist immer noch, wie ich Daten aus einer Tabelle, sei es über einen Link oder wie auch immer, in ein Formular bekomme. D.h. ich will, dass die hidden tags in dem Formular nicht feststehen, sondern dass da, je nachdem von welchem Link aus das Formular geöffnet wurde, mit diesen Werten belegt sind.

            Ich weiss ja nicht wie deine "Tabelle" aussieht, vielleicht kannst du ja einen Link setzen, wo man sich dein Problem online ansehen kann. Grundsätzlich gibts zwei möglichkeiten, dynamisch Inhalt zu erzeugen:

            1. Am Server: mit Perl, PHP, ASP, .... Da wird einfach die ganze html-Seite vom Script ausgegeben. In deinem Fall wahrscheinlich die Seite mit den hidden-fields. Aufrufen kannst du das Script von der statischen HTML-Seite, in deinem Falle vermutlich die Tabelle! Du kannst das script aber nicht nur einfach aufrufen (/cgi-bin/script.pl) sondern ihm auch Parameter übergeben (/cgi-bin/script.pl?param1=wert1&param2=wert2&param3=wert3),  die dann in dem Script - für was auch immer - als variablen benötigt werden. In deinem Fall vielleicht als name und wert des hidden-fields ?!?

            Na, wird die Brühe schon klarer?

            Danach kannst du die ganze html-seite vom Script ausgeben lassen. Was dann wiederum fix und fertig mit allen hidden-fields an den anfordernden Client geschickt wird.

            Dieses Script könntest du dann z.b. BuildForm.pl nennen, oder du kannst dasselbe Prinzip auch dazu verwenden, deine Produktliste auszugeben, ShowProducts.pl.

            Alternativ dazu kannst du deine Datensätze, ich nehme mal an es ist ein Shop, am Server in einer Text-datei ablegen. In jede Zeile kommen die Daten _eines_ Produktes. z.B:

            ARTNR | PRODUKTNAME | PREIS
            1     | HalloBallo  | 123,--
            2     | HulaHula    | 456,--
            ... usw

            du lest zeile für Zeile ein, und kannst die einzelnen Datenfelder durch aufspalten der Zeilen (an den Positionen wo ein '|' steht) prima in Variablen packen!

            Das ist der bequemste, wenn auch nicht mehr ganz so einfache Weg. (3-4 Zeilen Code erledigen das)

            1. Am Client: mit Javascript, VB-script, .... Man kann mit Javascript die Werte von Formularfeldern auslesen (document.forms['formularname'].elements['formularfeldname'].value) und neu beschreiben. Weiters kann man damit neue Fenster öffnen (window.open()), neue Seiten öffnen (document.open()) und diese auch dynamisch mit Inhalt versorgen (document.write()). Damit sollte klar sein was zu tun ist: Bei Klick auf einen Link/Button wird eine JS-Funktion aufgerufen, die die benötigten Formulardaten aus der Seite herausholt, und eine neue html-Seite mit diesen (dynamischen) Daten konstruiert.

            Jetzt brauchst du jetzt noch? das Bestellformular-script (z.b. SendForm.pl)! Das Formular selbst hast du ja schon mit 1) oder 2) erstellt. Jetzt musst du nur noch die Daten die übers Formular reinkommen verarbeiten. Wie das geht hab ich dir unten schon erklärt: mit param() abfragen, und mit
            open MAIL ...
            print MAIL ...
            close MAIL ...
            eine Bestätigung verschicken!

            Zu Übungszwecken solltest du das Formular mit der GET-Methode übergeben, da siehst du genau wie die Formulardaten an das Script geliefert werden (schau in die Adressleiste des Browsers)!

            Vielleicht bin ich auch einfach zu doof das zu finden, deswegen bitte ich nur, dass mir evtl jemand kuz sagt, WO ich dazu was finde, ich will bestimmt keinen fertigen Code, den ich einfach nur noch einsetzen muß!

            Lobenswert, ich sehe unsere Predigt hat geholfen :o) Sowohl für PHP als auch für Perl gibts umwerfend riesige Manuals. Allerdings würde ich dir raten, dir ein paar tutorials anzuschauen, die sind für den Anfang oft leichter zu verstehen, als die Dokumentation. Ein PERL-Buch das ich empfehlen kann ist "Learning Perl" von O'Reilly, gibts auch auf deutsch, und sicher auch irgendwo als pdf Version im Netz ,-)

            Schau dir dazu mal das SelfHTML-Linkverzeichnis an:
            http://www.teamone.de/selfaktuell/links/index.shtml

            Also, Zusammenfassend:

            1. --- Produkte ausgeben ----
            2. die Produktliste (txt-Datei) auslesen und in Variablen speichern
            3. die Variablen in die auszugebende html-seite als Werte von hidden-fields einbauen
            4. Die hidden-fields (artnr, name, preis) werden durch absenden des Forumulars (inkl. Menge) an das Formularausgabescript geschickt
            5. --- Bestellformular ausgeben ---
            6. parameter abfragen, und wieder in hidden fields auf der Formularseite ausgeben, damit das nächste script immer noch weiss was eigentlich bestellt wurde (artnr, menge). So werden die Bestelldaten von Seite zu Seite weitergereicht!
            7. Abschicken der Bestellformulars ruft das SendForm.pl-Script auf, welches wiederum die Parameter (artnr, menge) ausliest, und dann die mail(s) an den Kunden und/oder dich verschickt!

            That's it! ;-) Du musst dir nur für jede Aktion (produkte ausgeben, bestellformular anzeigen, bestellformular abschicken) ein eigenes script schreiben. Du solltest dir vorher irgendwie aufzeichnen oder im Kopf überlegen, welche Seite von welcher welche Daten braucht. Falls eine Seite dabei ist, die keine Daten benötigt, so ist sie statisch, und kann durch reines html wiedergegeben werden. Sollen ihr allerdings Parameter übergeben werden, in welcher weise auch immer, beispielsweise "indirekt" durch Absenden eines Forumlars, oder "direkt" durch angabe in einem Link <a href="/cgi-bin/ShowShop.pl?shopID=shop1">Artikelgruppe 1</a>, dann spricht man vom dynamischen Erzeugen einer Seite, welches durch scripts ausgeführt wird.

            so, hoffe dieser Marathon, äähhmmm Kurzzusammenfassung des PERL-Kapitels von Selfhtml, hat dir jetzt weiterhelfen können, bzw. dir einen weg/Konzept gezeigt, wie man es anstellen könnte. Freilich gibts 1000 verschieden Arten wie man an so ein Problem herangehen könnte. Die Abläufe bleiben aber überall dieselben: Parameter (Variablen) einlesen, Verarbeitungsschritte (z.b. Datenbank aktualisieren, mails verschicken, ...) und dann Resultatseite ausgeben!

            lg bernhard

            PS: Als zusätzliche Lektüre empfiehlt sich nun ein Feature Artikel aus SelfAktuell: http://www.teamone.de/selfaktuell/artikel/formmail.htm

  2. Hallo Alex!

    Zunächst hoffe ich, dass Du die Hinweise und Empfehlungen von Stefan E. Dir zu Herzen nimmst. Wenn Du weisst, wie ein Formular aufgebaut ist, brauchst Du an Perl-Code des Formmailers eigentlich nichts zu ändern, so fällt Deine Frage eher zu HTML...

    Wie kann ich bei einem formmail script die eingegebenen Daten (...) an die email-adresse die der user gerade eingegeben hat senden?

    Wenn Du FormMail.cgi von Matt Wright benutzt, nichts einfacheres als das. Normalerweise muss, damit FormMail die eMail verschickt, das Formular ein hidden-Feld namens "recipient" enthalten:

    <input type=hidden name=recipient value="paf@atomic-eggs.com">

    Den löschst Du und benennst statt dessen das eMail-Feld so:

    <input class="gross" type=text name="recipient" size=32 style="width:460px;" value=""> (anstatt: <input class="gross" type=text name="email" size=32 style="width:460px;" value="">)

    Und schon bekommt der User die Formulardaten von FormMail zugeschickt. So funktioniert es auf der Halle der Gemeinheiten (http://www.atomic-eggs.com/halle/halofba4.html#a2b), leider will partout keiner die Gemeinheiten bewerten, dabei haben wir uns so um Objektivität bemüht ;-)

    Patrick
    <hatehtehpehdoppelpunktslashslashwehwehwehpunktatomicminuseggspunktcomslash>

  3. hallo!
    Hier noch mein letztes Problem, das ich auf dem Herzen habe:
    Wie kann ich bei einem formmail script die eingegebenen Daten und evtl von der HP übernommene Daten an die email-adresse die der user gerade eingegeben hat senden? Normalerweise steht da ja immer ne feste Adresse im html Code, wie würde das aussehen?
    Gibts ein Script, das das wohl kann? Kann man dann trotzdem die gleiche mail gleichzietig nich an mich oder eine Datei senden?
    Gruß
    Alex

    Lade dir unter http://www.mcsoft.de deren Formmail runter. Dort ist eine Funktion integriert,
    die dem Absender eine Kopie sendet.