Will Smith-The next Bond: Formular-Daten

Moin, ich will ein Formular erstellen in dem ein Name, eine E-mail-adresse, ein Textfeld und mehrere Radiobuttons sind. Ich hab noch nie mit PHP gearbeitet, soll heißen ich weiß nicht wie man aus dem hier:

<HTML>
<HEAD>
<TITLE>Kontaktformular in PHP</TITLE>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">

<style>
<!--
body {
   SCROLLBAR-FACE-COLOR: #666666; SCROLLBAR-HIGHLIGHT-COLOR: #333333; SCROLLBAR-SHADOW-COLOR: #333333; SCROLLBAR-3DLIGHT-COLOR: #344556; SCROLLBAR-ARROW-COLOR: #fefefe; SCROLLBAR-TRACK-COLOR: #000011; SCROLLBAR-DARKSHADOW-COLOR: #333333;
}

input, textarea, select {
   border: 2px solid #333333;
   background: #FFFFFF;
   font: bold 11px Verdana, Arial, Helvetica, sans-serif;
   color: #000000;

}
td {
   font: bold 14px Verdana, Arial, Helvetica, sans-serif;
   color: #000000;
}
//-->
</style>
</HEAD>
<BODY BGCOLOR=#FFFFFF>

<TABLE BORDER=0 CELLPADDING=0 CELLSPACING=0>
   <TR>
          <td align="center">
            <font size="6">Kontakt</font>
          </td>
    <tr>
    <td>
<?php

function check_email($email) //Emailadresse prüfen (Keine Umlaute etc.)
{

if( !preg_match("/[1]+@([0-9a-z][0-9a-z-]+.)+[a-z]{2,4}|museum$/i", $email) )  return true;

return false;
}

// Allgemeine Variablen
$name_tag[0] = "Sonntag";
$name_tag[1] = "Montag";
$name_tag[2] = "Dienstag";
$name_tag[3] = "Mittwoch";
$name_tag[4] = "Donnerstag";
$name_tag[5] = "Freitag";
$name_tag[6] = "Samstag";
$num_tag   = date( "w");
$day      = $name_tag[$num_tag];
$year      = date("Y");
$day_num   = date("d");
$month      = date("m");
$time      = (date("H:i"));

$empfaenger = "meine@email.de"; //Die eigene emailadresse
$subject01 = "Mein Kontaktformular wurde ausgefüllt"; //Der Betreff der Email
$subject02 = "Danke das Sie das Kontaktformular ausgefüllt haben"; //Betreff der Bestätigungsmail

if ($flag==1) //Wenn das Fromular ausgefüllt wurde.
{
    //Die Eingaben prüfen
    if(!$namer){$fehler="Bitte Namen eingeben<br>";}
    if(!$vorname){$fehler.="Bitte Vornamen eingeben<br>";}
    if(check_email($email) & $email!="") {$fehler.="Emailadresse ist ungültig<br>";}
    if(!$email) {$fehler.="Bitte die Emailadresse eingeben<br>";}
    if(!$text) {$fehler.="Bitte eine Nachricht eingeben<br>";}

if($fehler) //Bei Fehlern, Meldung ausgeben
    {
        $meldung="<b>" .$fehler. "</b>";
        unset($flag);
        echo "<font color='red'>Es sind folgede Fehler aufgetreten: <br> " .$meldung. "</font>";
    }
    else //Wenn es keine Fehler gibt kann ja gemailt werden.
    {
      //Der Body für die Mail
      $body01 = "Nachricht gesendet am $day, $day_num.$month.$year um $time:
----------------------------------------------------------------
Vorname        : $vorname
Name           : $namer
eMail          : $email
----------------------------------------------------------------
Nachricht:
$text";

//Body für die Bestätigungsmail
       $body02 = "Am $day, $day_num.$month.$year um $time haben wir folgende Nachricht von Ihnen erhalten:
-----------------------------------------------------------------------------------
Name           : $namer
Vorname        : $vorname
eMail          : $email
-----------------------------------------------------------------------------------
Nachricht:
$text
-----------------------------------------------------------------------------------
Ihre Mail wird so schnell wie möglich bearbeitet.
Bei Fragen schreiben Sie an: mailto:$empfaenger";

//Nun kann gemailt werden
       //Erst die Mail an den Webmaster
       mail ($empfaenger, $subject01, $body01, "From:$email");
       //Dann die Bestätigungsmail
       mail ($email, $subject02, $body02, "From:$email");
       echo "Die Mail wurde gesendet.";
    }
}

if(!$flag) //Formular noch nicht abgesendet
{
        ?>
      <form action='<? echo $PHP_SELF; ?>' method='post' enctype='multipart/form-data' name='form' id="form">
          <input type="hidden" name="flag" id="flag" value=1>
        <p align="center">Bitte füllen Sie alles aus<br></p>
        <div align="center">
          <center>
        <table border="1" cellpadding="0" cellspacing="0" bordercolor="#000000" style="border-collapse: collapse">
          <tr><td>
                <table border="0" cellpadding="4">
        <tr>
          <td>Name:</td>
          <td>
            <input name="namer" type="text" id="namer" size="30" value='<?php echo $namer; ?>'>
                  </td>
        </tr>
        <tr>
          <td>Vorname:</td>
          <td>
                    <input name="vorname" type="text" id="vorname" size="30" value='<?php echo $vorname; ?>'>
                  </td>
        </tr>
        <tr>
          <td>Emailadresse:</td>
          <td>
                    <input name="email" type="text" id="email" size="30" value='<?php echo $email; ?>'>
                  </td>
        </tr>
        <tr>
          <td valign="top" class="textb">Nachricht:</td>
                <td>
                    <textarea name="text" id="text" cols="50" rows="5"><?php echo $text; ?></textarea>
            </td>
        </tr>
        <tr>
          <td>&nbsp;</td>
          <td><input type="submit" name="Submit" value="Abschicken">
          </td>
        </tr>
    </table>
        </td></tr>
        </table>
          </center>
        </div>
      </form>
      <?php
      }
  ?>
    </TD>
   </TR>
</TABLE>
</BODY>
</HTML>

das macht was ich haben will.
Kann mir da einer helfen?

Grüße aus Spanien
Smith, Will Smith


  1. _.0-9a-z- ↩︎

  1. Kann mir da einer helfen?

    guter rat:
    1)
    wirf alles weg was du hast und mache ein neues formular (in html) genau so wie du es haben willst und kümmere dich nicht um den abschickmechanismus

    wenn das funktioniert, kümmere dich um die abschickroutine - damit das formular in eine datenbank gespeicher wird oder per mail an den richtigen empfänger geht (oder beides)

    füge eine serverseitige (mit php) fehlerprüfung ein (nicht ausgefüllte fehler zb)

    füge eine clientseite fehlerprüfung ein (optional)

    wenn du bei einem der schritte schwierigkeiten hast, wird dir sicher weitergeholfen - aber dein fertiges script, welches du vermutlich kopiert hast (oder jemand geschrieben hat, der nicht an die zukunft gedacht hat) würde ich nicht umbauen, da lernst du nix dabei und zudem ist es zeitaufwändiger

    1. Tach erstmal,

      guter rat:
      1)
      wirf alles weg was du hast und mache ein neues formular (in html) genau
      so wie du es haben willst und kümmere dich nicht um den
      abschickmechanismus

      Okay mach ich kein Problem mit HTML kenn ich mich ein wenig aus

      wenn das funktioniert, kümmere dich um die abschickroutine -
      damit das formular in eine datenbank gespeicher wird oder per mail an den
      richtigen empfänger geht (oder beides)

      füge eine serverseitige (mit php) fehlerprüfung ein (nicht ausgefüllte
      fehler zb)

      füge eine clientseite fehlerprüfung ein (optional)

      Ist ja schön und gut (jetzt kommt genau das Wort das ich nicht leiden kann:) ABER: ich hab wie gesagt noch NIE mit PHP gearbeitet das heißt ich kann weder sowas (bezieht sich auf da oben) schreiben noch irgendwie dem HTML-Document klar machen das es sich danach richten soll. Ich bräuchte im Prinzip eine Anleitung nicht wie in SelfHTML sondern für genau das (bezieht sich wieder auf da oben) ohne alles andere. Für alles andere im Bereich PHP kann ich mir dann später noch zeit nehmen.

      Mfg
      Smith, Wil Smith

      1. Okay mach ich kein Problem mit HTML kenn ich mich ein wenig aus

        sorge vor allem für valides html ;)

        Ich bräuchte im Prinzip eine Anleitung nicht wie in SelfHTML sondern für genau das (bezieht sich wieder auf da oben) ohne alles andere.

        das hier (von Tom) ist zb sehr einfach gehalten - bzw extrem einfach
        http://selfhtml.bitworks.de/affenformular/affenformular.php.txt

        was du prinzipiell machen musst, ist das formular auf sich selbst abschicken und dann entsprechend der gesendeten variablen prüfen, was weiter passieren soll

        erstelle einfach ein online-beispiel und wenns irgendwo hängt, frage konkret nach

        funktionsbeschreibungen gibts übrigens auf php.net/funktionsname

        1. Hi,

          das hier (von Tom) ist zb sehr einfach gehalten - bzw extrem einfach
          http://selfhtml.bitworks.de/affenformular/affenformular.php.txt

          und leider wenig geeignet, sorry.

          Ich habe kürzlich mal meinen einfachen Formmailer etwas erweitert.

          freundliche Grüße
          Ingo