PHP-Kontaktformular

Dieses Thema im Forum "Software" wurde erstellt von Wolli, 2. November 2006.

  1. Wolli

    Wolli New Member

    ich sollte hier bei einer webseite ein kontaktformular integrieren. ich habe aber leider absolut keine ahnung von php oder cgi etc.

    deshalb habe ich mir aus einem anderen foren-beitrag den untenstehenden code kopiert.
    das hat nun soweit auch einwandfrei funktioniert.

    ich möchte jedoch noch pflichtfelder integrieren und eine erfolgs- und eine fehlerseite einbauen. ich denke das sollte ja eigentlich kein problem sein.
    doch ich habe keine ahnung, welcher code dazu nötig ist und wo ich diesen einfügen muss.

    wäre super wenn mir da jemand helfen könnte!


    kontakt.html

    <form name="form1" method="post" action="kontakt.php">
    <table width="95%" border="0" align="center" cellpadding="0" cellspacing="0">
    <tr>
    <td><textarea name="text" cols="35" rows="8" id="text">Hier deinen Text eingeben...</textarea></td>
    </tr>
    <tr>
    <td></td>
    </tr>
    <tr>
    <td valign="middle">
    <input name="name" type="text" id="name" size="18">
    <font size="1" face="Verdana, Arial, Helvetica, sans-serif">Name</font></td>
    </tr>
    <tr>
    <td></td>
    </tr>
    <tr>
    <td valign="middle">
    <input name="telefon" type="text" id="telefon" size="18">
    <font size="1" face="Verdana, Arial, Helvetica, sans-serif">Telefonnummer
    / Email</font></td>
    </tr>
    <tr>
    <td></td>
    </tr>
    <tr>
    <td><input type="submit" name="Submit" value="Abschicken"></td>
    </tr>
    </table>
    </form>




    kontakt.php

    <?php
    $msg = "Folgende Nachricht wird Ihnen durch das Kontaktformular übermittelt:";
    foreach($_POST AS $key=>$value) {
    $msg .= $key.": ".$value."\n";
    }
    mail("DEIN.NAME@ADRESSE.de","HIER WAS IM BETREFF STEHEN SOLL",$msg,"From: GEFAKTE@ABSENDERADRESSE.de");

    ?>
     
  2. ggd

    ggd New Member

    Moin,

    du musst letztlich einfach abfragen, ob zu einem Bestimmten Schlüssel ($key) in deinem foreach-Kontrukt auch ein richtiger Wert ($value) existiert. Zusätzlich zu der Zeile, wo $msg verlängert wird, sollte also vorher noch eine Überprüfung des Wertes auf Herz und Nieren stattfinden. Reguläre Ausdrücke ist hier auch ein gutes Stichwort.

    Für alles weitere sind die speziellen php-Seiten vielleicht besser geeignet:

    http://www.selfphp.com/
    http://de3.php.net/manual/de/

    Viele Grüße,

    Gabriel
     
  3. Wolli

    Wolli New Member



    vielen dank schon mal für deine hilfe. leider mache ich aber wohl noch irgendetwas falsch. es scheint ein fehler auf zeile 19 zu sein...

    meine php-seite sieht nun so aus:

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
    <title>Unbenanntes Dokument</title>
    </head>

    <body>

    <?php
    $msg = "Folgende Nachricht wird Ihnen durch das Kontaktformular übermittelt:";
    foreach($_POST AS $key=>$value) {
    $msg .= $key.": ".$value."\n";
    }
    mail("florian.huber@gmx.ch","Hellotravel-Kontaktformular",$msg,"From: florian.huber@gmx.ch");

    if(isset($var1, $var2, $etc)) {
    mail('florian.huber@gmx.ch', 'e-mail', 'name', 'vorname', 'betreff', 'kommentar');
    header(location:http//www.hellotravel.ch/test/erfolg.html);
    }

    if(isset($var1, $var2, $etc)) {
    header(location:http://www.hellotravel.ch/test/fehler.html)
    ?>

    </body>
    </html>
     
  4. Wolli

    Wolli New Member

    ach so. ok, ich denke ich weiss was du meinst. aber so ganz verstanden habe ich die sache wohl doch noch nicht.
    naja, ich konnte jetzt ein anderes php-formular von einer seite downloaden, und soweit abändern wie ich es will.
    das hat jetzt soweit geklappt. nur das mit der erfolgs- und fehlerseite funktioniert nicht ganz so wie ich es mir vorgestellt hatte. es erscheint nicht eine html-seite, sondern einfach eine weisse seite mit dem erfolgs- oder fehler-text.
    ich glaube das ist auch ok so. mal sehen ob's der kunde so akzeptiert...
     

Diese Seite empfehlen