Antworten auf deine Fragen:
Neues Thema erstellen

Hilfe bei Kontaktformular

Foos

Member

Hallo liebe psdler.

Ich bräuchte dringen eure Hilfe bei meinem Kontaktformular.
Ich bekomm einfach keine Email davon!

Könntet ihr mal durchgucken, ob alles stimmt:?

PHP:
<form action="kontakt-auswerten.php" method="post">
            <span class="form_title">Firmenname</span>
            <span class="form_element">
            <input type="text" name="company" size="40" />
            </span>

            <span class="form_title">Name</span>
            <span class="form_element">
            <input type="text" name="Authorized" size="40" />
            </span>


            <span class="form_title">E-Mail Adresse *</span>
            <span class="form_element">
            <input type="text" name="email" size="40" />
            </span>

            <span class="form_title">Telefonnummer *</span>
            <span class="form_element">
            <input type="text" name="phone" size="40" />
            </span>

            <span class="form_title">Adresse *</span>
            <span class="form_element">
            <input type="text" name="Address" size="40" />
            </span>

            <span class="form_title">Ihre Nachricht</span>
            <span class="form_element">
            <textarea rows="11" name="information" cols="40"></textarea></span>

            <span class="form_element"><input type="submit" value="Senden" name="submit" />
            <font color="#6699FF" size="-1">Felder mit * sind Pflichtfelder</font></span>

            </form>

zu:

PHP:
        <?php

if( empty($_POST['Name']) || empty($_POST['Nachricht']) || empty($_POST['Email']) ) // Hier wird überprüft ob alle benötigten felder angegeben wurden( name, nachricht und email)
{
echo " Sie haben nicht alle Felder ausgefüllt!!! "; // fehlermeldung falls sie nicht ausgefüllt wurden.
}
else // wenn doch geht es hier weiter
{
$message = addslashes($_POST['Nachricht']); // die funktion addslashes bewirkt, kurz gesagt, das dein script vor bösartigem text geschützt wird.
$email ="hier steht meine email adresse - das weiß ich :)"; // Hier kommt deine email adresse rein, zu bedenken ist das die anführungszeichen gesetzt bleiben.
$name = addslashes($_POST['Name']);
$betreff = "Sie haben eine Nachricht von ".$name." ";

$senden = @mail($email , $betreff, $message); // hier wird die email an deine email adresse gesendet.
if($senden) // hier wird überprüft ob die email erfolgreich versendet wurde
echo " Die E-Mail wurde erfolgreich versendet."; // text falls gesendet
else
echo " Es ist ein Fehler beim versenden der E-Mail aufgetreten!"; // text falls fehler beim senden aufgetreten sind

}
?>
 

bisskraft

Nicht mehr ganz neu hier

AW: Hilfe bei Kontaktformular

Hast du schonmal geschaut ob dein anbieter überhaut ein php-skript oder CGI-skript hat? Strato hats zum beispiel 1&1 nicht!

(Es gibt nämlich auch skripte die nicht sicher sind und die werden auch gerne gesperrt – wenn man selbst zum bsp. eines geschrieben hat...)
 
Zuletzt bearbeitet:
G

gloop

Guest

AW: Hilfe bei Kontaktformular

Oftmals, muss man bei den Providern die email funktion seperat freigeschaltet werden.

Bei pytal zB wird diese nur freigeschaltet, wenn man einen Grund dafür angibt.

mfg
 

Foos

Member

AW: Hilfe bei Kontaktformular

hm also die seite liegt bei 1&1.
allerdings gibt es auf der alten seite schon ein formular.


Das ist doch auch php ?
 
Zuletzt bearbeitet:
W

waterwebdesign

Guest

AW: Hilfe bei Kontaktformular

Überprüf lieber mal Fomular und dein Skript. Das Skript untersucht $post['Name'], $post['Nachricht'] und $post['Email']. Doch dein Formular besitzt keine Felder die so heißen. Demzufolge kann nur die Fehlermeldung ausgegeben werden.
 

Spin_1987

~~Student|spin_yyeah~~

AW: Hilfe bei Kontaktformular

Also mein lieber folgendes :

Du solltest dich gleich mit PHP 5 beschäftigen und die prozedurale Programmierung sein lassen . Bitte alles in Klassen schreiben .

Aber , da du sich nur copy und paste gemacht hast , werde ich dir hier schnell auf die sprünge helfen !

1. Schreibe immer variablen klein !

Das was du durch POST holst, wie name, betreff und so weiter.

Weiterhin holt dein Script Daten , die dein Formular garnicht beinhaltet . Das kann niemals funktionieren :/

Das hatte aber schon mein Vorposter gesagt !

bsp.:

HTML:
<span class="form_title">Firmenname</span>
            <span class="form_element">
            <input type="text" name="company" size="40" />
            </span>

<input type="text" name="company" size="40" />

Wenn du hier company in name schreibst , dann musst du auch mit $_POST['company'] darauf zugreifen!!!


Der Rest schaut ganz gut aus , aber total unsauber ;)

OK..noch ein Tip: Nimm das @ Zeichen vor mail weg.
Was soll dass da?



^^

PS: Schreibe alles in Klassen :

bsp.:

<?php

class a {

public function b() {

}



}

usw.


grüße
 

Foos

Member

AW: Hilfe bei Kontaktformular

Hm also ich bekomms einfach nich hin..

Könnt mir jemand das Script vervollständigen

PHP:
        <form action="kontakt-auswerten.php" method="post">
            <span class="form_title">Firmenname</span>
            <span class="form_element">
            <input type="text" name="firma" size="40" />
            </span>

            <span class="form_title">Name</span>
            <span class="form_element">
            <input type="text" name="name" size="40" />
            </span>


            <span class="form_title">E-Mail Adresse</span>
            <span class="form_element">
            <input type="text" name="email" size="40" />
            </span>

            <span class="form_title">Telefonnummer</span>
            <span class="form_element">
            <input type="text" name="telefon" size="40" />
            </span>

            <span class="form_title">Straße</span>
            <span class="form_element">
            <input type="text" name="strasse" size="40" />
            </span>
            
            <span class="form_title">stadt</span>
            <span class="form_element">
            <input type="text" name="stadt" size="40" />
            </span>

            <span class="form_title">Ihre Nachricht</span>
            <span class="form_element">
            <textarea rows="11" name="nachricht" cols="40"></textarea></span>

            <span class="form_element"><input type="submit" value="Senden" name="submit" />
        </span>

            </form>

...
oder eine Anleitung oder so?!! bitte...
 

Chriss1987

me.drinkCoffee();

AW: Hilfe bei Kontaktformular

Hallo,

hab mal auf die Schnelle ein Script geschrieben, dass deine Anfrage bearbeitet und per Mail verschickt, habs noch nicht getestet, dürfte aber so passen. Ist nichts großartiges und soll eigentlich auch nur als Grundlage zum "Selber Ausbauen" sein. Ist halt Q&D.

PHP:
// Array mit allen im Formular verwendeten input-Feldern (die weiterverwendet werden sollen)
$fields = array(
                    // "name" => "pflicht";
                    "firma" => "",
                    "name"  => "ja",
                    "email" => "ja",
                    "telefon" => "",
                    "strasse" => "",
                    "stadt" => "",
                    "nachricht" => "ja",
                );

$ergebnis = array();
$send = true;

// jedes Element aus $fields abarbeiten
foreach ($fields AS $name => $pflicht)
    {
        // wenn das Feld existiert...
        if (isset($_POST[$name]))
            {
                // ... prüfen, ob das Feld Pflicht und leer ist, wenn beides zutrifft, 
                // Fehlermeldung ausgeben und verhindern, dass die Email gesendet wird
                if (empty($_POST[$name]) AND $pflicht == "ja")
                    {
                        echo strtoupper(substr($name, 0, 1)) . substr($name, 1) . " ist ein Pflichtfeld!<br>";
                        $send = false;
                    }
                // wenn alles ok ist, Wert speichern
                else
                    {
                        $ergebnis[$name] = addslashes($_POST[$name]);
                    }
            }
        // wenn das Feld nicht existiert und Pflicht ist,
        // Fehlermeldung ausgeben und verhindern, dass die Email gesendet wird
        else if ($pflicht == "ja")
            {
                echo strtoupper(substr($name, 0, 1)) . substr($name, 1) . " ist ein Pflichtfeld!<br>";
                $send = false;
            }
        // wenn das Feld nicht existiert und nicht Pflicht ist,
        // leeren Wert speichern
        else
            {
                $ergebnis[$name] = "";
            }
    }

// wenn alle Pflichfelder ausgefüllt sind...
if ($send)
    {
        // Nachrichtenkörper erzeugen (wieder mit Hilfe des $fields-Array
        $message = "";
        foreach ($fields AS $name => $pflicht)
            {
                $message .= strtoupper(substr($name, 0, 1)) . substr($name, 1) . ": " . $ergebnis[$name] . "\n";
            }
        
        // eMail-Adresse, an die die eMail gehen soll
        $email = "noexists@moto-biker.de";
        
        // Betreff der eMail
        $betreff = "Sie haben eine neue Nachricht!";
        
        // wenn die eMail...
        if(mail($email , $betreff, $message))
            {
                // ... versendet wurde
                echo "eMail wurde gesendet!";
            }
        else
            {
                // ... nicht gesendet werden konnte
                echo "Fehler beim Senden der eMail";
            }
    }

Viel Spaß damit und schöne Grüße aus dem Sauerland!
Chriss
 

Foos

Member

AW: Hilfe bei Kontaktformular

vielen vielen Dank. nur stehe ich grad auf dem Schlauch, wo und wich das jetzt einbauen muss?! ?! :)
 

Chriss1987

me.drinkCoffee();

AW: Hilfe bei Kontaktformular

Hi,

dein Formular beginnt doch mit:
HTML:
<form action="kontakt-auswerten.php" method="post">

d.h. nach dem Abschicken des Formulares wird die Seite "kontakt-auswerten.php" geöffnet und die Daten dahin übergeben. Folglich musst du die Datei erstellen und den o.g. Quellcode einfügen.

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

Foos

Member

AW: Hilfe bei Kontaktformular

hm ok. das habe ich schon probiert. ich habe jetzt schon so viel versucht. auch mit irgendwelchen kontaktformular-generatoren.
aber die email kommt einfach nie an.
ich bin bei goneo. die unterstützen ja php. ...

wo könnte denn noch mein fehler liegen ?
 

Rakete

Nicht mehr ganz neu hier

AW: Hilfe bei Kontaktformular

Ein spöttisches Gemüt könnte vermuten, dass 'noexists@moto-biker.de' mehrere E-Mails bekommen hat ... :p

Du hattest doch die Empfänger Adresse angepasst? ;)


Ansonsten wäre es sicher hilfreich, eventuelle Fehlermeldungen oder sonstige Ausgaben im Browserfenster zu nennen oder etwas genauer zu beschreiben, an welcher Stelle was nicht geht.
 

Chriss1987

me.drinkCoffee();

AW: Hilfe bei Kontaktformular

Schau mal unter , da hab ich die beiden Dateien mal hochgeladen, es funktioniert ohne probleme...
In der ZIP-Datei sind nochmal beide Dateien enthalten, lade sie runter, entpacken, in der php-Datei noch deine eMail Adresse eintragen, auf deinen Server laden -> testen!

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

Chriss1987

me.drinkCoffee();

AW: Hilfe bei Kontaktformular

Guten Morgen,

dann musst du das obenstehende Script so anpassen:

PHP:
...
        // eMail-Adresse, an die die eMail gehen soll
        $email = "noexists@moto-biker.de";

        // deine registrierte eMail-Adresse
        $absender = "exists@domain-bei-goneo.de";
        
        // Betreff der eMail
        $betreff = "Sie haben eine neue Nachricht!";
        
        // zusätzlicher Header
        $header = ("From: " . $absender . "\n");
        $header .= ("Reply-To: " . $absender . "\n");
        $header .= ("Return-Path: " . $absender . "\n");
        $header .= ("X-Mailer: PHP/" . phpversion() . "\n");
        $header .= ("X-Sender-IP: " . $REMOTE_ADDR . "\n");
        $header .= ("Content-type: text/html\n");

        // wenn die eMail...
        if(mail($email , $betreff, $message, $header, "-f $absender"))
            {
                // ... versendet wurde
                echo "eMail wurde gesendet!";
            }
        else
            {
                // ... nicht gesendet werden konnte
                echo "Fehler beim Senden der eMail";
            } 
...

Schöne Grüße aus dem Sauerland!
Chriss
 
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

Flatrate für Tutorials, Assets, Vorlagen

Statistik des Forums

Themen
118.564
Beiträge
1.538.064
Mitglieder
67.487
Neuestes Mitglied
MichaelSEivy
Oben