Adrian: Eure Meinung zu FormularMagic 0.1b ???

Hallo alle miteinander!

Ich habe ein Script geproggt das es Webmastern ermöglicht, ohne Script-Kenntnisse ein PHP-Kontaktformular zu erstellen...

Hier findet ihr das kleine Prog:

http://thoriden.dyndns.org/formularprog/formularmagic.php

Im Moment ist es noch sehr spartanisch man kann nur das nötigste Einstellen, jedoch beabsichtige ich, das Programm entsprechend zu Erweitern..

WEnn ihr Zeit habt schaut euch das ganze mal an und schreibt eure Meinung hinsichtlich gestaltung, funktionalität und Erweiterungsmöglichkeiten (variabler intergrund/Textfarbe etc...)

Mit freundlichem Gruss Adrian

  1. WOOOW
    Danke für Deinen Dienst der Menschheit!
    Auf das haben wir alle schon immer gewartet!

    Das ist ja das Beste was es gibt!
    Irre alter, da bist Du sicher 20000 Stunden gesessen oder??

    geil ja!

    Aqua

    1. WOOOW
      Danke für Deinen Dienst der Menschheit!
      Auf das haben wir alle schon immer gewartet!

      Das ist ja das Beste was es gibt!
      Irre alter, da bist Du sicher 20000 Stunden gesessen oder??

      Wenn das Ironie sein soll: Selber besser machen.

      Und seit wann ist das hier ein 3lite-Board, in dem Leute, die sich Mühe geben, sinnlos mit Hohn und Spott in den Boden gestampft werden? Wenn es Dir technisch nicht gefällt, dann sag, was Dir nicht gefällt. Wenn es für Dich keinen Nutzen hat, dann halte einfach die Klappe.

      Schönen Tag.
        soenk.e

      1. Hi Soenk.e,

        es hat keinen Zweck ihn zu belehren, denn bis jetzt ist trotz aller Bemerkungen noch nie ein vernünftiges Posting rausgekommen. Siehe das Posting über den Herzschmerz ;)

        @Adrian: Mir gefällt die Idee. Achte auf die dir vorgeschlagenen Dinge und ich denke, dann ist es eine gute Sache.

        ciao
        romy

        --
        DIE ROMY AUS L. AN DER P. SAGT DANKE UND AUF WIEDERSEHEN
        ->Alles ist gut wenn es aus Schokolade ist
        1. Hi!

          @Adrian: Mir gefällt die Idee. Achte auf die dir vorgeschlagenen Dinge und ich denke, dann ist es eine gute Sache.

          Danke für eure Ideen und Verbesserungsansätze, ich versuche alles möglichst schnell zu imlemetieren...

    2. Moin

      WOOOW
      Danke für Deinen Dienst der Menschheit!
      Auf das haben wir alle schon immer gewartet!
      Das ist ja das Beste was es gibt!
      Irre alter, da bist Du sicher 20000 Stunden gesessen oder??

      Gerade _Dir_ steht mit Deinen Fragestellungen eine solche Grosskotzbemerkung ueberhaupt nicht zu.

      Man koennte sich ja mal ueber Dein vorgestelltes "Projekt" (bla bla ff.) auslassem. ;-)

      Gruesse
      Wilhelm

      --
      Q: Warum gibt es in LinuxLand so viele Trolljaeger?
      A: Weil dort die groessten Exemplare wohnen.
  2. Ich habe ein Script geproggt das es Webmastern ermöglicht, ohne Script-Kenntnisse ein PHP-Kontaktformular zu erstellen...

    Netter Ansatz, leider hakt es teilweise:

    • Du greifst direkt auf die Formular-Variablen zu. Das ist in allen Standard-PHP-Installationen seit Monaten nicht mehr möglich (und das aus einem guten Grund). Verwende stattdessen $_POST[] oder (bei alten PHP-Versionen) $HTTP_POST_VARS[].

    • Bei der Benennung der Felder kann man HTML eingeben. Das ist (gewollt oder nicht) eine gute Sache, aber leider hälst Du Dich nicht konsequent daran: Im Vorschauformular werden die HTML-Tags als Text angezeigt, im generierten Code erscheinen sie als Code. Entscheide Dich für eine Variante.

    • Eine Mail-Adresse sollte anklickbar sein.

    • Man kann das erzeugte Formular wunderbar zum Spamming benutzen, da die Mail an eine Adresse gesendet wird, die im Formular steht, wobei freundlicherweise auch noch die Adresse des Formularbesitzers als Absender erscheint und nicht die des Spammers.
      Kontaktformulare sollten _grundsätzlich_ nur an eine _fest im Code verankerte_ Adresse versandt werden.

    • Wenn ich es mir recht überlege, sollte es eigentlich mit einem Formular überhaupt nicht möglich sein, mehr als eine Mail pro viertel Stunde abzusetzen. Es gibt so viele böse Menschen und mit einer DSL-Leitung kann man seeeeehr viele POST-Anfragen pro Sekunde absetzen... ;>

    • Der vierte Parameter von mail() ist nicht für den Betreff gedacht, sondern für zusätzliche Kopfzeilen (zum Beispiel die Absenderangabe per "From:"). Anscheinend hast Du da etwas mit den Variablen $headers und $betreff durcheinander gebracht.

    • Wie eben angedeutet wäre es sinnvoll, wenn der Absender der Mail der des Formularausfüllers wäre. Verwende dazu "From:" und $headers. Schließlich möchte man auf eine Kontaktanfrage auch ohne Umstände antworten können.

    • Es wäre sinnvoll, wenn Du vor dem Absenden prüfst, ob überhaupt etwas ausgefüllt wurde.

    • Du solltest nochmal an Deiner Rechtschreibung feilen, insbesondere an der Groß-/Kleinschreibung im Deutschen wie im Englischen.

    • Und warum ich das Formular nicht benutzen würde: Der HTML-Code ist -pardon- saumäßig. Aber die Benutzung von <font>, <b>, <u> und Konsorten ist natürlich Geschmackssache :)

    Gruß,
      soenk.e

      • Bei der Benennung der Felder kann man HTML eingeben. Das ist (gewollt oder nicht) eine gute Sache, aber leider hälst Du Dich [...]

      *BZZZZT* Ein Fehler, den ich in letzter Zeit häufig sehe, aber der von der neuen deutschen Rechtschreibung nicht gedeckt wird: halsen->du halst, halten->du hältst. "Hälst" gibt es aber nicht. Sag' ich nur, weil du ja meintest:

      • Du solltest nochmal an Deiner Rechtschreibung feilen,

      Grüße,
      SpellChecker

        • Bei der Benennung der Felder kann man HTML eingeben. Das ist (gewollt oder nicht) eine gute Sache, aber leider hälst Du Dich [...]

        *BZZZZT* Ein Fehler, den ich in letzter Zeit häufig sehe, aber der von der neuen deutschen Rechtschreibung nicht gedeckt wird: halsen->du halst, halten->du hältst. "Hälst" gibt es aber nicht.

        Sorry, das mußt Du mir nochmal erklären. Wie soll der Satz den richtig heißen, "leider halst Du Dich"? Das kann's doch nicht sein. "halsen" kenne ich widerum nicht, nur "aufhalsen", aber das hat nichts mit "halten" zu tun. Und heißt es auch nicht "Er erhält ein Paket"?

        Verwirrt ;)
          soenk.e

          • Bei der Benennung der Felder kann man HTML eingeben. Das ist (gewollt oder nicht) eine gute Sache, aber leider hälst Du Dich [...]

          *BZZZZT* Ein Fehler, den ich in letzter Zeit häufig sehe, aber der von der neuen deutschen Rechtschreibung nicht gedeckt wird: halsen->du halst, halten->du hältst. "Hälst" gibt es aber nicht.

          Sorry, das mußt Du mir nochmal erklären. Wie soll der Satz den richtig heißen, "leider halst Du Dich"? Das kann's doch nicht sein.

          Soweit schonmal richtig!

          "halsen" kenne ich widerum nicht, nur "aufhalsen", aber das hat nichts mit "halten" zu tun.

          Genau! ...und was du sagen wolltest, auch nichts mit "Hals".

          Und heißt es auch nicht "Er erhält ein Paket"?

          Eben! mit "t"! Nicht etwa: er "erhäl" ein Paket.

          Somit muss dein ursprünglicher Satz richtig lauten:
          ...aber leider [      ] Du Dich...
          Na? ;)

            • Bei der Benennung der Felder kann man HTML eingeben. Das ist (gewollt oder nicht) eine gute Sache, aber leider hälst Du Dich

            *BZZZZT* Ein Fehler, den ich in letzter Zeit häufig sehe, aber der von der neuen deutschen Rechtschreibung nicht gedeckt wird: halsen->du halst, halten->du hältst. "Hälst" gibt es aber nicht.

            Sorry, das mußt Du mir nochmal erklären. Wie soll der Satz den richtig heißen, "leider halst Du Dich"? Das kann's doch nicht sein.
            Soweit schonmal richtig!

            "halsen" kenne ich widerum nicht, nur "aufhalsen", aber das hat nichts mit "halten" zu tun.
            Genau! ...und was du sagen wolltest, auch nichts mit "Hals".

            Und heißt es auch nicht "Er erhält ein Paket"?
            Eben! mit "t"! Nicht etwa: er "erhäl" ein Paket.

            Somit muss dein ursprünglicher Satz richtig lauten:
            ...aber leider [      ] Du Dich...
            Na? ;)

            Äh.

            Ich kaufe ein Ypsilon :]

            Nee.

            Moment.

            "leider hältst Du Dich"! Richtig, kapiert, hast vollkommen Recht :)

            Gruß,
              soenk.e

            1. Moin

              "halsen" kenne ich widerum nicht,

              Du solltest mal surfen (auf dem Wasser *g*) oder segeln.
              http://www.the-daily-dose.com/moves/move-lj.htm

              Gruesse
              Wilhelm

              --
              Q: Warum gibt es in LinuxLand so viele Trolljaeger?
              A: Weil dort die groessten Exemplare wohnen.
        1. Hi Sönke,

          "halsen" kenne ich widerum nicht....

          Die Halse ist ein Manöver beim Surfen oder Segeln
          http://www.snowwind.ch/windsurfen/windsurfen_text.htm
          'halsen' das Verb dazu. Der Kontext erschliest sich mir allerdings nicht.

          Gruss,
            Carsten

    1. Hi!

      • Du greifst direkt auf die Formular-Variablen zu. Das ist in allen Standard-PHP-Installationen seit Monaten nicht mehr möglich (und das aus einem guten Grund). Verwende stattdessen $_POST[] oder (bei alten PHP-Versionen) $HTTP_POST_VARS[].

      Versuch ich nachzubessern!

      • Bei der Benennung der Felder kann man HTML eingeben. Das ist (gewollt oder nicht) eine gute Sache, aber leider hälst Du Dich nicht konsequent daran: Im Vorschauformular werden die HTML-Tags als Text angezeigt, im generierten Code erscheinen sie als Code. Entscheide Dich für eine Variante.

      oh, gar nicht bemerkt :o) Es leben die tester!

      • Eine Mail-Adresse sollte anklickbar sein.

      kommt noch...

      • Man kann das erzeugte Formular wunderbar zum Spamming benutzen, da die Mail an eine Adresse gesendet wird, die im Formular steht, wobei freundlicherweise auch noch die Adresse des Formularbesitzers als Absender erscheint und nicht die des Spammers.
        Kontaktformulare sollten _grundsätzlich_ nur an eine _fest im Code verankerte_ Adresse versandt werden.

      DAS wird es doch!

      Das Script erstellt doch nur ein Formular, das dann als Feedback-Form von Webmastern genutzt werden kann!

      Die einzugebenden Adresse ist die des Webmasters der das Form nutzt...

      und nur an diese Adresse kann auch gesendet werden!

      • Wenn ich es mir recht überlege, sollte es eigentlich mit einem Formular überhaupt nicht möglich sein, mehr als eine Mail pro viertel Stunde abzusetzen. Es gibt so viele böse Menschen und mit einer DSL-Leitung kann man seeeeehr viele POST-Anfragen pro Sekunde absetzen... ;>

      Stimmt, evtl wird da noch nachgebessert (cookie oder so..)

      • Der vierte Parameter von mail() ist nicht für den Betreff gedacht, sondern für zusätzliche Kopfzeilen (zum Beispiel die Absenderangabe per "From:"). Anscheinend hast Du da etwas mit den Variablen $headers und $betreff durcheinander gebracht.

      ok wird nachgeschaut..

      • Wie eben angedeutet wäre es sinnvoll, wenn der Absender der Mail der des Formularausfüllers wäre. Verwende dazu "From:" und $headers. Schließlich möchte man auf eine Kontaktanfrage auch ohne Umstände antworten können.

      Zum Antworten gibet ja, je nach Webmasterwünschen ein Feld das der User mit seiner E-Mail füllen sollte...

      Aber die Adresse als Absender zu nutzen ist ne gute idee..

      • Es wäre sinnvoll, wenn Du vor dem Absenden prüfst, ob überhaupt etwas ausgefüllt wurde.

      wird gemacht...

      • Du solltest nochmal an Deiner Rechtschreibung feilen, insbesondere an der Groß-/Kleinschreibung im Deutschen wie im Englischen.

      ups sorry..
      Gruss

  3. Hallo Adrian,

    http://thoriden.dyndns.org/formularprog/formularmagic.php

    du wolltest es so :-) - btw: </faq/#Q-19>

    <title>Kontaktformular (by Formular Magic)</title>

    naja, das "(by ...)" würde ich weglassen

    <!--
    [16 Zeilen Copyright gelöscht]
    -->

    mhh... wenn du meinst, ich finde es etwas zu viel.

    <body bgcolor="#FFFFFF">

    pfui - da gehört css hin.

    <font size="2" face="Verdana, Arial, Helvetica, sans-serif">

    *schüttel* -> css

    <?php
    if ($absenden)
    if(isset($_POST["absenden"])

    (sonst könnte es sein, dass du ständig emails von leuten bekommst, bei denen register_globals auf off steht, außerdem kann das so wie du das machst eine Fehlermeldung produzieren.

    {
        $kommentar = $text;

    warum? du könntest doch $kommentar auch so einbinden.

    $inhalt = "$name[1], $name[2], $name[3], $name[4],  hat folgendes geschrieben: \n\n $text";
        $headers = "Feedback von Kontaktformular";

    das ist (soweit ich weiß) kein gültiger header

    echo '

    hier könntest du den php-Bereich mit ?> beenden und nach dem Formular mit <?php wieder aufmachen.

    <input type="hidden" name="tomail" value="a@a.a">

    _ganz_ schnell weg damit! die Adresse, an die das geschickt werden soll hat beim Client _nichts_ zu suchen

    <td><font size="3"><b><u>Kontaktformular</u></b></font><br></td>

    *schüttel* gleich zwei deprecated Elemente.

    <font size="2" face="Verdana, Arial, Helvetica, sans-serif">

    zu den <font>s sage ich jetzt nichts mehr :-)

    <td width="75%"><div align="center">

    align="center" kann man auch durch css ersetzen

    <textarea name="text" cols="40" rows="6"></textarea>

    da wäre es noch nett, wenn man angeben könnte wie groß das Feld sein soll

    ?>

    und wo bleibt die Abfrage, ob was eingetragen ist?

    Grüße aus Nürnberg
    Tobias

    1. Hi Tobias!

      du wolltest es so :-) - btw: </faq/#Q-19>

      Ja ich weiss, aber ich hab deswegen auch den Link nochmal unter URL angegeben, falls jemand zu bequem ist ihn zu kopieren! :o)

      naja, das "(by ...)" würde ich weglassen

      Gute idee

      <!--
      [16 Zeilen Copyright gelöscht]
      -->
      mhh... wenn du meinst, ich finde es etwas zu viel.

      Will ich noch komprimieren :o)

      pfui - da gehört css hin.

      Naja ich mags so und ich find so lässt sich das nachher leichter variabel machen...

      *schüttel* -> css siehe oben

      <?php
      if ($absenden)
      if(isset($_POST["absenden"])
      (sonst könnte es sein, dass du ständig emails von leuten bekommst, bei denen register_globals auf off steht, außerdem kann das so wie du das machst eine Fehlermeldung produzieren.

      OK ich schau da mal anch...

      $kommentar = $text;
      warum? du könntest doch $kommentar auch so einbinden.

      Ja, aber ich verknüpfe das drekt so, damit achher in der ausgehenden E-Mail ein TExt erscheint wie b:

      Adrian, AdrianRE@gmx.net schrieb folgenden Kommentar:

      Kommentar

      $headers = "Feedback von Kontaktformular";
      das ist (soweit ich weiß) kein gültiger header

      Werd ich checken..

      echo '
      hier könntest du den php-Bereich mit ?> beenden und nach dem Formular mit <?php wieder aufmachen.

      <input type="hidden" name="tomail" value="a@a.a">
      _ganz_ schnell weg damit! die Adresse, an die das geschickt werden soll hat beim Client _nichts_ zu suchen

      Der Client bekommt die gar nicht zu gesicht, das Script speichert der Webmaster doch aufm Server, so dass der User das _nie_ mitkriegt!

      <textarea name="text" cols="40" rows="6"></textarea>
      da wäre es noch nett, wenn man angeben könnte wie groß das Feld sein soll

      Ist noch geplant...

      ?>
      und wo bleibt die Abfrage, ob was eingetragen ist?

      Wichtige Sache, hatte ich vergessen..
      Danke Adrian

      1. Hi,

        pfui - da gehört css hin.
        Naja ich mags so und ich find so lässt sich das nachher leichter variabel machen...

        es lässt sich auch mit css sehr schön variabel gestalten!
        Du könntest einfach Klassen einfügen und diese mit dem Grundtyp belegen und wenn Du später Änderungen (Farbe uä) implementieren willst, änderst Du die Klasse.

        <input type="hidden" name="tomail" value="a@a.a">
        _ganz_ schnell weg damit! die Adresse, an die das geschickt werden soll hat beim Client _nichts_ zu suchen
        Der Client bekommt die gar nicht zu gesicht, das Script speichert der Webmaster doch aufm Server, so dass der User das _nie_ mitkriegt!

        doch ein hiddenfeld bekommt er sehr wohl zu Gesicht, das steht brühwarm im Quellcode!

        ciao
        romy

        --
        DIE ROMY AUS L. AN DER P. SAGT DANKE UND AUF WIEDERSEHEN
        ->Alles ist gut wenn es aus Schokolade ist
        1. Hi...

          Zum Thema Adresse und sichtbar:

          Klar, hab ich mich grad vertan, wird ja angezeigt, aber die ziel-adresse wird ja auch auf dem formular nachher angezeigt, damit interessierte User auch zur Not mit nem eigenen Programm ne Nachricht senden können...

          Was ich evtl noch amchen muss ist nen Refferer einzuauen, ist aber kompiziert denn

          1. wie macht man mit php ne refferer abfrage? 0 Ahnung
          2. ist der Speicherort des Forms ja auch frei wählbar...

          1. Hi Adrian

            Klar, hab ich mich grad vertan, wird ja angezeigt, aber die ziel-adresse wird ja auch auf dem formular nachher angezeigt, damit interessierte User auch zur Not mit nem eigenen Programm ne Nachricht senden können...

            Dass ist nicht das Problem dabei, das Problem ist, dass sie auch geändert werden
            kann durch zb ein eigenes Formular welches dein Script aufruft. Somit kann
            jemand eine Installation deines Scriptes benutzen, um von deinem Server aus
            (und mit deinem Absender) beliebige E-Mails an beliebige Leute zu verschicken.

            Gruss Daniela

            --
            Nein, wir frieren unsere Hühner nicht auf Gletschern fest.
            1. Hi Daniela:

              Dass ist nicht das Problem dabei, das Problem ist, dass sie auch geändert werden
              kann durch zb ein eigenes Formular welches dein Script aufruft.

              Ähm, nö ich mein nicht, denn das generierte Script ist so konzipiert, das nur ein mail versant erfolgt, wenn vorher auch der absenden - button in meinem form gedrückt wurde...

              Somit kann

              jemand eine Installation deines Scriptes benutzen, um von deinem Server aus
              (und mit deinem Absender) beliebige E-Mails an beliebige Leute zu verschicken.

              Ähm, nö ich mein auch nicht, denn

              1. liegen die generierten Scripte gar nicht auf meinem Server sondern auf dem des jeweiligen Webmasters....

              und 2. kann man mit dem Form das als Beispiel am ende ausgegeben wird, gar nix senden es funzt nicht, sondern ist nur das formular ohne funktion...

              Gruss Adrian

              PS. falls ich jetzt wieder was nicht verstanden hab ruhig zusammenschei###en

              1. Dass ist nicht das Problem dabei, das Problem ist, dass sie auch geändert werden
                kann durch zb ein eigenes Formular welches dein Script aufruft.

                Ähm, nö ich mein nicht, denn das generierte Script ist so konzipiert, das nur ein mail versant erfolgt, wenn vorher auch der absenden - button in meinem form gedrückt wurde...

                Man kann das komplette Formular vorgaukeln, dazu gehört selbstverständlich auch der Wert, den der Absenden-Knopp verschickt. Und übrigens auch die Referrer-Angabe - nicht daß Du denkst, Du wärst von der Ecke aus sicher.

                Aber nun hast Du es ja inzwischen wenigstens geändert :)

                Gruß,
                  soenk.e

            2. Hallo miteinand!

              Auf vielfachen Hinweis nun geändert!

              Das generierte Script beinhaltet nun direkt die E-Mail Adresse des Webm,asters in der MAIL-Funktion :o)

              Gruss Adrian

          2. Zum Thema Adresse und sichtbar:
            Klar, hab ich mich grad vertan, wird ja angezeigt, aber die ziel-adresse wird ja auch auf dem formular nachher angezeigt, damit interessierte User auch zur Not mit nem eigenen Programm ne Nachricht senden können...

            Ich bin mir nicht sicher, ob Du schon verstanden hast, worum es geht: Die Zieladresse ist vom Benutzer _frei_ wählbar. Es nützt nichts, daß das Formularfeld nicht angezeigt wird und es geht nicht darum, daß Benutzer mit einem anderen Programm eine Nachricht an den Formularinhaber absetzen können.

            Das Problem ist, daß jederman ein simples Programm schreiben kann, das Deinem Skript ein abgeschicktes Formular vorgaukelt. Da Du treuen Glaubens die Zieladresse aus den erhaltenen Formulardaten (die wie gesagt keine "Formular"-Daten sein müssen) nimmst, kann jederman für den Formulareintrag der Zieladresse ein x-beliebige einsetzen und somit Dein Skript als Massenversandmittel mißbrauchen.

            Entferne das <input>-Feld mit der Zieladresse _vollständig_ aus dem Formular und setze die Zieladresse stattdessen direkt in den mail()-Aufruf ein, ohne Benutzung von Variablen.

            Was ich evtl noch amchen muss ist nen Refferer einzuauen, ist aber kompiziert denn

            1. wie macht man mit php ne refferer abfrage? 0 Ahnung
            2. ist der Speicherort des Forms ja auch frei wählbar...

            Der Referrer kommt, so er denn gesendet wird, in einer Variable namens $_SERVER["HTTP_REFERER"] (siehe phpinfo(INFO_VARIABLES);). Die eigene Skriptadresse findest Du wie auch den vom Browser verwendeten Servernamen ebenfalls im Feld $_SERVER[] unter "PHP_SELF" (wenn ich mich nicht irre, siehe phpinfo()) und "HTTP_HOST".

            Gruß,
              soenk.e