• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

gratis PHP Kontakt Formular Generator

Psilo

Neues Mitglied
Hallo Leute,

ich habe mal wieder an etwas gearbeitet..
Dabei ist ein gratis Kontakt Formular Generator rausgekommen.
Würde mich wie immer mal wieder über Feedback freuen.
Die Bedienung ist meiner Meinung nach wirklich kinderleicht und man erhält als Ergebnis eine Kontaktformular.php Datei und alles was man machen muss ist diese auf seinen Server zu kriegen...
Falls irgendjemand mir Tipps geben könnte wie ich das ganze für den IE optimieren könnte, wäre ich sehr erfreut.

Hier gehts zum gratis PHP Kontakt Formular Generator

Beste Grüße
Psilo
 
Zuletzt bearbeitet:
Werbung:
Hab einen Fehler entdeckt, und zwar bei der Nachricht, die man als Besitzer des Kontaktformulars erhält, steht immer '01.01.1970'...

Code:
$mitteilung="Hallo,
am 01.01.1970 wurde eine Nachricht über Ihr Kontaktformular an Sie versendet.
Inhalt:
Name: ".$v0."
Strasse: ".$v1."
Wohnort: [2]
usw.
Mit freundlichen Grüßen";

Keine Variable = immer der gleiche Text bzw. immer das gleiche Datum...
 
danke für die info..
habs mal geändert..
war wohl irgendwie daneben als dich das gemacht habe
 
Werbung:
Hallo...SUPPER echt... aber ich brauche hilfe.. und zwar was wie wo muss ich genau tun um das auf meiner Page einzufügen ?? iRep-iPhone
ich bin ein absoluter newbie... und rall das nicht so ganzz...??

danke für die antwort!

UND DER Formular Generator ist DER HAMMER!
 
Der Generator ist nicht sehr barrierefrei.

Dies gilt nicht nur für die Seite, sondern auch für die Ergebnisse. Ein Formular wird normalerweise so aufgebaut:

Code:
<form action=" " method=" ">

<fieldset>
 
  <legend>Titel</legend>
 <ul>
  <li>
    <label for="name">Name:</label>
    <input id="name" type="" value="" />
  </li>
  ...
 </ul>
 </fieldset>

</form>


Alternativ könnte man auch statt des <p> eine Auflistung benutzen (<ol> oder <ul>).


Deine Seite hat deutliche Schwächen in Bezug auf HTML.

-> Da wäre zum einen die Haupt-Navigation. Diese müsste mit Hilfe einer ungeordneten Liste (<ul>) aufgebaut werden. Desweiteren wäre das title="" - tag bei deinem <a> Hilfreich. So erkennt man beim drüberfahren der Punkte nicht was sie bedeuten. (Zumindest bei abgeschalteten JS)


-> <h2> fehlt

-> nach dem <h1> folgt ein <h3> (unlogisch)

-> inline-style

-> width="" und height="" fehlt bei <img>-tag

-> <table> beim Formular-Generator (sind das tabellarische Daten?)

Code:
<td><p></p></td>
-> unlogisch

-> Allgemein <table> für Auszeichnung von Inhalt. Ist zu 90% nicht korrekt.


Hm...mach jetzt erstmal mittagsessen..keine Lust das weiter anzuschauen...behebe ersteinmal die Fehler hier, damit du eine gute solide Grundlage hast.


Gruß
Loon3y
 
Zuletzt bearbeitet:
Habs nun geschaft das das drauf ist, aber wenn ich auf absenden klik kommt : es ist ein Fehler aufgetreten.. .warum das?
Edit: ist das vllt. weil freehoster.ch - Freehoster keine mail(); Funktion hat ? rsp. die deaktiviert ist?
Edit: An dem kann es nicht liegen. Ich habs auch mit http://spacequadrat.de probiert, da weiss ich das es fuktioniert ich hab sogar noch die zeile mail ($mail,"[email protected]",$mitteilung) hat aber auch nix gebracht kommt immer ''Es ist ein Fehler aufgetreten'' Das hab ich umbennant auf ''Das Kontaktformular ist leider noch nicht im Betrieb" dases etwas besser aussieht... kann mir wer helfen ? ich binn am verzweifeln -.-!!?

Danke euch !



Gruss..
 
Werbung:
Alternativ könnte man auch statt des <p> eine Auflistung benutzen (<ol> oder <ul>).
Besser wäre allerdings ein <div>, denn es handelt sich nicht um einen Textabsatz, auch nicht wirklich um eine Liste, sondern nur um eine Gruppe aus Label und dazugehörigem Eingabefeld.
 
Fehlerhaft! Oder ich bin zu doof!

Kontaktformular

Wieso kommt immer: '' Es ist ein Fehler aufgetreten '' ??

Danke für die Hilfe!



PHP:
<html>
    <head>
        <title>Kontaktformular</title>
    </head>
    <body style="background:#;color:#;font-size:;font-family:;">
        <?php
            $v0 = $_POST ["0"];$v1 = $_POST ["1"];$v2 = $_POST ["2"];$v3 = $_POST ["3"];$v4 = $_POST ["4"];$v5 = $_POST ["5"];$v6 = $_POST ["6"];
            $datum = date("d.m.Y");
            $uhrzeit = date("H:i");
            $mitteilung="Hallo, am $datum wurde eine Nachricht über Ihr Kontaktformular an Sie versendet. Inhalt: Name: ".$v0." Nachname: ".$v1." Telefon: ".$v2." E-Mail: ".$v3." Betreff: ".$v4." Mitteilung: ".$v5." Mit freundlichen Grüßen";
            $mail="[email protected]";
            $send=$_POST['s'];
            function random($name_laenge) {
                $zeichen = "abcedfhiklmnorstuvwxzABCDEFGHIJKLMNOPRTSUVWXYZ0123456789";
                $name_neu = "";
                mt_srand ((double) microtime() * 1000000);
                for ($i = 0; $i < $name_laenge; $i++ ) {
                    $name_neu .= $zeichen{mt_rand (0,strlen($zeichen))};
                }
                return $name_neu;
            }
            $zufall = random(4);
            $zufall2 = $zufall;
            $code = $zufall2;

            if(($send!="1"))
            {
        ?>
        <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
            <table id="tableOne" border="0" cellpadding="0" cellspacing="5"><tbody><tr><td colspan="2"> <h1>Dein Formular</h1> </td></tr><tr> <td>Name:</td><td><input style="border: 1px solid rgb(0, 0, 0); font-family: arial; font-size: 12px; height: 20px; width: 200px; background-color: rgb(255, 255, 255); color: rgb(0, 0, 0);" name="0" type="text"></td> </tr><tr> <td>Nachname:</td><td><input style="border: 1px solid rgb(0, 0, 0); font-family: arial; font-size: 12px; height: 20px; width: 200px; background-color: rgb(255, 255, 255); color: rgb(0, 0, 0);" name="1" type="text"></td> </tr><tr> <td>Telefon:</td><td><input style="border: 1px solid rgb(0, 0, 0); font-family: arial; font-size: 12px; height: 20px; width: 200px; background-color: rgb(255, 255, 255); color: rgb(0, 0, 0);" name="2" type="text"></td> </tr><tr> <td>E-Mail:</td><td><input style="border: 1px solid rgb(0, 0, 0); font-family: arial; font-size: 12px; height: 20px; width: 200px; background-color: rgb(255, 255, 255); color: rgb(0, 0, 0);" name="3" type="text"></td> </tr><tr> <td>Betreff:</td><td><select style="border: 1px solid rgb(0, 0, 0); font-family: arial; font-size: 12px; height: 20px; width: 200px; background-color: rgb(255, 255, 255); color: rgb(0, 0, 0);" name="4" id="4"><option value="Zahlung">Zahlung</option><option value="Anfrage iPhone">Anfrage iPhone</option><option value="Anfrage iPod">Anfrage iPod</option><option value="Anfrage Sonstiges">Anfrage Sonstiges</option><option value="Sonstiges">Sonstiges</option></select></td> </tr><tr> <td>Mitteilung:</td><td><textarea name="5" style="border: 1px solid rgb(0, 0, 0); font-family: arial; font-size: 12px; height: 60px; width: 200px; background-color: rgb(255, 255, 255); color: rgb(0, 0, 0);" cols="20" rows="5"></textarea></td> </tr><tr> </tr></tbody></table>
        <table  cellpadding='0' cellspacing='5' border='0'>
            <tr>
                <td valign='top'>Sicherheitscheck:</td>
                <td>
                    <span style='background:#F4F4F4;border:1px dashed #333;padding:5px 10px;color:#333;'><?php echo "$code" ?></span>
                    &nbsp;&nbsp;&nbsp;
                    <input type='text' name='captcha'>
                    <input type='hidden' name='captchaCheck' value='<?php echo "$code" ?>'>
                    <br />(&Uuml;bertragen Sie den Code in das Feld)
                </td>
            </tr>
        </table><table id="tableThree" border="0" cellpadding="0" cellspacing="5"><tbody><tr><td colspan="2"><p><button type="submit">Absenden</button></p></td></tr></tbody></table>
            <p><input type="hidden" value="1" name="s" /></p>
        </form>
        <?php
            } else {
                $captcha = $_POST["captcha"];
            $captchaCheck = $_POST["captchaCheck"];
              if($captcha==""||$captcha!=$captchaCheck) {
                echo "<script type='text/javascript'>
                alert('Bitte beantworten Sie die Sicherheitsabfrage korrekt!');
                history.back(1);
                </script>";
                exit;
            }
              $send=0;
              if(mail($mail,"",$mitteilung,"from:weedit | Kontakt Formular Generator"))
              {
                echo "<p><strong>Ihre E-Mail wurde abgesendet.</strong></p>";
                echo "<p><a href=".$_SERVER['PHP_SELF'].">Zurück zum Formular</a></p>";
              }else{
                echo "<p><strong>Es ist ein Fehler aufgetreten!</strong></p>";
                echo "<p><a href=".$_SERVER['PHP_SELF'].">Zurück zum Formular</a></p>";
              }
            }
        ?>
        <!-- Dieser Link darf nicht entfernt werden. Es wäre sonst eine Copyright Verletzung -->
        <p style='text-align:right;'><a href='http://www.weedit.de/'>Kontaktformular Generator</a></p>
    </body>
</html>
 
Besser wäre allerdings ein <div>, denn es handelt sich nicht um einen Textabsatz, auch nicht wirklich um eine Liste, sondern nur um eine Gruppe aus Label und dazugehörigem Eingabefeld.

Irks jein...hm...ok ein <div> würde sicherlich Sinn machen. Aber wohl auch ein <ul>...denke ich. Denn es ist ja immerhin eine Auflistung von Eingabefeldern. Desweiteren ist <ul> dort angebracht, da es keine Reihenfolge dafür gibt. Man versteht jedes Listenelement ohne das vorherige gelesen zu haben..(nicht wie beim <ol> wo die Voraussetzung ist, dass jedes <li> auf das Vorhergehende aufbaut / anschließt und man es alleinestehend nicht versteht)

Bzgl des <p> kann ich dir wohl zustimmen...wobei jede Eingabezeile ja auch eine Art "Abschnitt" oder "Absatz" ist.

Wichtig sollte eigentlich, vorallem bzgl der Barrierefreiheit, das "For"-Attribut beim <label> sein. Und natürlich das <label> sowie <legend>.
 
Werbung:
Eine Liste...ja, bei mehreren Eingabefeldern. Da ist dann jedes Gruppe von <label> mit <input> zusammen in einem <li>. Das wäre sinnvoll. Das hatte Dein Beispielcode aber nicht ;-)
 
Eine Liste...ja, bei mehreren Eingabefeldern. Da ist dann jedes Gruppe von <label> mit <input> zusammen in einem <li>. Das wäre sinnvoll. Das hatte Dein Beispielcode aber nicht ;-)

Wurde geändert.

Wobei bei bestimmten fällen, wie z.B. Anmeldeforumlaren oder Bezahlungsvorgängen ein <ol> auch denkbar wäre. Immerhin ist das eine chronologische Reihenfolge die man ausfüllen würde. :-)
 
der code ist grauenhaft, eine XSS schwachstelle habe ich gefunden, nach einer Mailinjection habe ich mich garnicht getraut zu gucken.
 
Werbung:
Das Design gefällt mir, aber was machst du, wenn jemand Javascript standardmäßig deaktiviert hat?

Es kann sein, dass ich nicht die nötige Intelligenz besitze, um zu verstehen, für was dieses Kontaktformular gut ist. Trotzdem wäre es nett, wenn mir das jemand erklären könnte.
 
Ich habe noch einen Fehler entdeckt: Die Icons der schon eingefügten Inputs (Bearbeiten, Löschen, usw...) überdecken die Infofensterchen. Stell bei denen am Besten z-index mal auf 99.

Außerdem kann man die Optionen eines Dropdownmenüs nicht mehr ändern...

Uuuund, wenn man ein Feld löscht, sollten die IDs nachrutschen (d.h. aus 3 wird 2, aus 4 wird 3, usw...
 
Zurück
Oben