Antworten auf deine Fragen:
Neues Thema erstellen

Kontaktformular: Senden button greift nich auf PHP zu!

Bobbes

Er weiß es nicht!

Hallo,
ich habe folgendes Problem:
wenn ich auf meinem Server die .php Datei so anwähle schickt mir mein Kontaktformular zwar eine Mail aber ohne Inhalt ( ist ja auch klar ).
Wenn ich nun von der Seite aus aufs Kontaktformular gehe und Senden drücke löscht der alles was eingetragen wurde raus und sendet nix.
Also muss ich das irgendwie hinbekommen das der Senden button auf die .php zugreift. Genau hier ist das Problem: Ich packs nicht xD
Weiß vielleicht irgendeiner was dazu?=/ Danke schonmal im vorraus!
mfg Bobbes

Kontaktformular:

<form id="form1" name="form1" method="post" action="">
<fieldset>
<legend>Bitte geben Sie Ihre Kontaktdaten an</legend>
<p><label for="name">Name:</label>
<input type="text" name="name" id="name"/></p>
<p><label for="vorname">Vorname:</label>
<input type="text" name="vorname" id="vorname"/></p>
<p><label for="firma">Firma:</label>
<input type="text" name="firma" id="firma"/></p>
<p><label for="telefon">Telefon:</label>
<input type="text" name="telefon" id="telefon"/></p>
<p><label for="nachricht">Nachricht:</label>
<textarea name="nachricht" id="nachricht"></textarea></p>
<div id="button2">
<p><input type="submit" name="senden" id="senden" value="Senden" class="button" />
<input type="reset" name="löschen" id="löschen" value="Löschen" class="button" /></p>
</div>
</fieldset>
</form>

CSS fürs Kontaktformular:

body, input { font-size: 12px; font-family:arial; background-color:#FFFFFF }
form p { clear:left; float:left; width:100%; margin: 5px 0px 5px 0px; padding:2px; }
form { font-size:12px; line-height:150%; width:30em; }
fieldset { margin:0px; padding:5px 5px 5px 5px; border:solid 1px #999999; }
legend { color:#999999; font-size:14px; margin-left:55px; }
.button { font-size:11px; background-image:url(button.gif); width:70px; height:30px; margin-left:15px; cursor:pointer; }
input { width:150px; float:left; margin:9px; padding:2px; border:solid 1px #999999; display:block; }
#name { }
#vorname { }
#telefon { }
#firma { }
#nachricht { width:200px; height:100px; margin-left:9px; margin-top:9px; }
label { color:#999999; font-weight:normal; text-align:left; width:75px; float:left; margin:5px; padding:5px; margin-left:0px; }
#button2 { margin-left:84px; }

PHP Datei:

<?php

$to = "Name <bla@bla.de>" . ", " ; // beachten Sie das Komma

/* Betreff */
$subject = "Kontakt";

/* Nachricht */
$message .= "Name: " . $_POST['name'] . "\n";
$message .= "Vorname: " . $_POST['vorname'] . "\n"; // noch eine Variable
$message .= "Firma: " . $_POST['firma'] . "\n";
$message .= "Telefon: " . $_POST['telefon'] . "\n";
$message .= "Nachricht: " . $_POST['nachricht'] . "\n";
/* Um eine HTML-Mail zu senden, können Sie den den "Content-type"-Header setzen */
$headers = "MIME-Version: 1.0\r\n";
//$headers .= "Content-type: text/html; charset=iso-8859-1\r\n";

/* zusätzliche Header */
$headers .= "From: Absender-Name <bla@bla.de>\r\n";

/* Verschicken der Mail */
mail($to, $subject, $message, $headers);

echo "Danke! Wir werden Sie schnellstmöglich zurückrufen!";

?>
 

limubai81

Nicht mehr ganz neu hier

AW: Kontaktformular: Senden button greift nich auf PHP zu!

HTML:
<form id="form1" name="form1" method="post" action="kontakt.php">

trage mal wie in dem bsp. hier, den namen des kontaktformulares ein
das fällt mir jetzt erstmal sofort auf

lg LiMu
 

esupanetz

Immer wieder mal da :-)

AW: Kontaktformular: Senden button greift nich auf PHP zu!

Hi Bobbes,

schaut für mich aufs erste ganz gut aus - "dumme" Frage meinerseits: Der Server auf dem dein Formular steht kann eh php? ;-)

LG

Eva
 

Bobbes

Er weiß es nicht!

AW: Kontaktformular: Senden button greift nich auf PHP zu!

Dankeschön limubai81, das war es ! Wie dumm von mir das zu übersehen :uhm:
und @esupanetz ja der Server kann php :)

mfg Bobbes
 

Chriss1987

me.drinkCoffee();

AW: Kontaktformular: Senden button greift nich auf PHP zu!

HTML:
<form id="form1" name="form1" method="post" action="kontakt.php">

trage mal wie in dem bsp. hier, den namen des kontaktformulares ein
das fällt mir jetzt erstmal sofort auf

lg LiMu

Hi,

japp, das ist mir auch aufgefallen. Sonst werden die POST-Daten an die gleiche Datei übertragen, wenn keine "action" eingetragen ist.
Wenn die Datei allerdings sowohl den php-Code als auch den HTML-Code enthält, wäre das nicht wichtig, wenn die Codes aber in 2 unterschiedlichen Dateien stehen, dann ist der o.g. Lösungsweg der richtige!

Schöne Grüße aus dem Sauerland!
Chriss

EDIT: mhh, zu spät, sollte mich nicht immer so ablenken lassen, wenn ich was posten will ;)
 

JPS

Nicht mehr ganz neu hier

AW: Kontaktformular: Senden button greift nich auf PHP zu!

Ich mache es auch immer mit einer extra Datei,
aber es müsste doch gehen, dass das PHP vor dem Formular steht und dort z.b eine Abfrage drin ist:
PHP:
if (isset($_POST))
{
1. Richtigkeit checken
2. Mail abschicken
 
}
 

Niels85

Noch nicht viel geschrieben

AW: Kontaktformular: Senden button greift nich auf PHP zu!

Wieso nimmst du nicht javascript dafür oder prüfst das auf kontakt.php und wenn was fehlt sendest du wieder alles ins formular feld.

Hab sowas mal gestern geschrieben wie ich das mach ist ein bißchen viel aber erweiterbar.


weiter unten steht ein link zum testen.
 

Chriss1987

me.drinkCoffee();

AW: Kontaktformular: Senden button greift nich auf PHP zu!

Ich mache es auch immer mit einer extra Datei,
aber es müsste doch gehen, dass das PHP vor dem Formular steht und dort z.b eine Abfrage drin ist:
PHP:
if (isset($_POST))
{
1. Richtigkeit checken
2. Mail abschicken
 
}

Hi,

so erstelle ich auch oftmals meine Formulare. Alle wichtigen Programmteile, die zu der angezeigten Seite gehören in eine Datei, grade bei so Formularen wie Kontaktformular usw.
Schematisch sieht das dann in etwa so aus, wenn ich die Daten überprüfen möchte:
PHP:
<?php

// prüfen, ob das Formular abgeschickt wurde
if (isset ($_POST['sendMail']))
    {
        $send = true;
        // alle relevanten Felder auf Inhalt und richtigkeit prüfen
        if (isset($_POST['email']) AND $_POST['email'] != "")
            {
                // email auf richtiges Format prüfen, z.b. mit Regex
            }
        else
            {
                $send = false;
            }
        
        // [...] für alle anderen Felder wiederholen
        
        if ($send)
            {
                // Mail verschicken
                // Erfolg anzeigen und Ausführung evtl beenden oder
                echo "Email wurde erfolgreich verschickt!";
            }
        else
            {
                echo "Nicht alle felder ausgefüllt!";
            }
    }

?>

<form method="POST">
    <input type="text" name="email">
    <input type="hidden" name="sendMail" value="ok">
    <input type="submit">
</form>

Der Grund, warum ich alles in eine Datei packe ist folgender, bei komplexeren Anwendungen kommen schnell mal mehrere hundert verschiedene Dateien zusammen, wenn jetzt jeder "Funktionsblock", wie etwa ein Kontaktformular o.ä. 2 oder mehr Dateien benötigt, wird es schnell sehr unübersichtlich. Anders ist es bei Templatesystemen, da hat man einmal den eigentlichen Funktionsaufruf und das dazugehörige Template, was die Sache, trotz mehrerer Dateien übersichtlicher macht (mMn).
kleines Bsp.: (3 Dateien: 1x php, 2x tpl)
PHP:
<?php

// prüfen, ob das Formular abgeschickt wurde
if (isset ($_POST['sendMail']))
    {
        $send = true;
        // alle relevanten Felder auf Inhalt und richtigkeit prüfen
        if (isset($_POST['email']) AND $_POST['email'] != "")
            {
                // email auf richtiges Format prüfen, z.b. mit Regex
            }
        else
            {
                $send = false;
            }
        
        // [...] für alle anderen Felder wiederholen
        
        if ($send)
            {
                // Mail verschicken
                // Erfolg anzeigen und Ausführung evtl beenden oder
                $msg = "Email wurde erfolgreich verschickt!";
                // --> erfolg.tpl einbinden
            }
        else
            {
                $msg = "Nicht alle felder ausgefüllt!";
                // --> form.tpl einbinden
            }
    }
else
    {
        // --> form.tpl einbinden
    }

?>
Natürlich hat alles seine Vor- und Nachteile und jedem ist es selbst überlassen, wie er (oder sie) seine Scripte strukturiert. Es kommt dabei vorallem auf den persönlichen Geschmack (oder manchmal auch den Geschmack seines Chefes :p) an.

Ein Formular nur mit JS zu überprüfen finde ich persönlich unzureichend, da JS deaktiviert werden und somit die Prüfung umgangen werden kann.

Schöne Grüße aus dem Sauerland
Chriss

P.S.: Hoffe, ich bin nicht allzusehr vom Thema abgewichen...
 

JPS

Nicht mehr ganz neu hier

AW: Kontaktformular: Senden button greift nich auf PHP zu!

@Niels85 - richtig das kann er machen.

Aber die Frage war ja, warum das Formular nicht abgesendet wird.

Was ja nicht stimmte.
So wie das Ursprungsskript bzw Formular ausgelegt war, wird es nur an sich selbst verschickt und man könnte damit ja dann trotzdem die Mail versenden.
Das sowas dann nicht das eleganteste ist - ok.

@Bobbes: Ich habe mal gelesen, dass man aus Spam-technischen Gründen, die kontakt.php nicht kontakt.php nennen sollte. In wie fern sowas richtig bzw. wichtig ist - keine Ahnung
 
Bilder bitte hier hochladen und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Antworten auf deine Fragen:
Neues Thema erstellen

Willkommen auf PSD-Tutorials.de

In unseren Foren vernetzt du dich mit anderen Personen, um dich rund um die Themen Fotografie, Grafik, Gestaltung, Bildbearbeitung und 3D auszutauschen. Außerdem schalten wir für dich regelmäßig kostenlose Inhalte frei. Liebe Grüße senden dir die PSD-Gründer Stefan und Matthias Petri aus Waren an der Müritz. Hier erfährst du mehr über uns.

Stefan und Matthias Petri von PSD-Tutorials.de

Nächster neuer Gratisinhalt

03
Stunden
:
:
25
Minuten
:
:
19
Sekunden

Neueste Themen & Antworten

Flatrate für Tutorials, Assets, Vorlagen

Zurzeit aktive Besucher

Statistik des Forums

Themen
118.565
Beiträge
1.538.066
Mitglieder
67.488
Neuestes Mitglied
Andrew56524
Oben