Antworten auf deine Fragen:
Neues Thema erstellen

Fragen zum meinem Kontaktformular

mfwenzel

Nicht mehr ganz neu hier

Moin moin,

ich habe mich mal an ein Kontaktformular gewagt und es mit diversen Tutorials versucht und auch geschafft :)

Nun meine 2 Fragen:

-gibt es die Möglichkeit eine Abfrage für ein Textfeld zu machen ob z.B. die Emailadresse im richtigen Format ist (xx@xx.de) ?

-desweiteren wollte ich mal Fragen wie der Befehlt dafür ist, das ausgefüllte Formular auch an den eigentlichen Absender zu schicken...

€dit: und wenn ich schon dabei bin Laien Fragen zu stellen: kann man den "echo"-Text formatieren? also z.B. in Arial

Wenns net zu schwer ist ;)


Thx schon mal

Matthias
 
Zuletzt bearbeitet:

daimonion

Nicht mehr ganz neu hier

AW: Fragen zum meinem Kontaktformular

Zur Emailüberprüfung kannst du Regexpressions nutzen.
Code:
preg_match("/^ [\w.!#%&\*\/=\?\^\`\{\|\}\~+-]{1,64} \@[[:alnum:].-]{1,255} \. [a-z]{2,6} $/xi",$email)
z.b.

Der Befehl zum Senden einer mail lautet mail

http://de.php.net/manual/de/book.mail.php

der echo text is ja quasi html und wird auch nach deren standard formatiert. css ist dafür natürlich auch nutzbar.
 

pain2000

Nicht mehr ganz neu hier

AW: Fragen zum meinem Kontaktformular

Hi,
zu Frage 1: das kannst du so z.B. machen
Code:
if (!eregi("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$", $email))
{ //falsches Format }
else{ // richtiges Format }

zu Frage 2: das kannst du z.B. hier nachlesen oder einfach so:
Code:
Text-Mail:
<?php
$sender = "sender@deinedomain.de";
$empfaenger = "empfaenger@domain.de";
$betreff = "Hier kommt eine eMail von $sender";
$mailtext = "Moin Heinz!\nIch hoffe Deine eMailAdresse $empfaenger existiert noch.";
mail($empfaenger, $betreff, $mailtext, "From: $sender ");
?> 

HTML-Mail:
<?php
$sender = "sender@deinedomain.de";
$empfaenger = "empfaenger@donnert.de";
$betreff = "Hier kommt eine eMail von $sender";
$mailtext = "Moin Heinz!<br>Ich hoffe Deine <b>eMailAdresse</b> $empfaenger existiert noch.";
mail($empfaenger, $betreff, $mailtext, "From: $sender\n" . "Content-Type: text/html; charset=iso-8859-1\n");
?>

zu Frage 3: nein nicht direkt. Der echo-Befehl gibt nur etwas aus. Wenn du z.B. Arial als Font haben möchtest dann musst du das entsprechend in HTML oder CSS formulieren z.B.
Code:
echo"<font face=\"Arial\">dein Text</font>";

EDIT: @daimonion: Mist warst schneller...
 
Zuletzt bearbeitet:

mfwenzel

Nicht mehr ganz neu hier

AW: Fragen zum meinem Kontaktformular

Eine Frage:

wo muss ich den Code zum Absenden der Emails einfügen? (ich hab des jetzt mal bei dem script.php eingefügt, nur an welche Stelle.) Hab euch meine PHP Datei mal hochgeladen:

 

daimonion

Nicht mehr ganz neu hier

AW: Fragen zum meinem Kontaktformular

Na jetzt überleg doch mal.

Du prüfst deine übergebene Daten auf Gültigkeit und wenn die Daten valide sind, dann baust du dir die Variablen für den Funktionsaufruf zusammen und rufst die Funktion auf.

Grundlegende Kenntnis von solchen Formularen sollte man schon haben, denn sonst sind potenzielle Sicherheitslücken und somit Spambots vorprogrammiert!
 

pain2000

Nicht mehr ganz neu hier

AW: Fragen zum meinem Kontaktformular

Im Grunde kann das so stehen bleiben... ist zwar nicht recht schön, aber es erfüllt den Zweck. Ich nehme mal an, dass das Formular beim Abschicken diese Seite aufruft.
Schöner für den Anwender wäre, wenn das Formular nochmal zu sehen ist (falls Eingabefehler auftreten) und nicht nur ein zurück-Link. Schöner für dich wäre, wenn z.B. ein Captcha-Bild oder eine kleine Rechenaufgabe zu lösen ist, damit das Mail-Script dich nicht bald mit Spam zuballert...
Ich persönlich lege mir gern das Formaular in die php-Datei und überprüfe die Eingaben bzw. maile aus dieser Datei heraus. Falls Fehler auftreten, wie oben beschrieben, wird das Formular nochmals angezeigt und das/die Feld/er in dem/denen der/die Fehler ist/sind z.B. rot umranden mit dem Hinweis, dass dies und jenes zu überprüfen sei... Aber ist Geschmacksache...
 

daimonion

Nicht mehr ganz neu hier

AW: Fragen zum meinem Kontaktformular

Man sollte auch aufpassen das Mails nicht mehrmals geschickt werden, wenn man F5 drückt!
 

mfwenzel

Nicht mehr ganz neu hier

AW: Fragen zum meinem Kontaktformular

Grundlegende Kenntnis von solchen Formularen sollte man schon haben, denn sonst sind potenzielle Sicherheitslücken und somit Spambots vorprogrammiert!

Habe ich überhaupt nicht :))

Captcha kenn ich, aber wie ich das einbauen muss hab ich keine Ahnung und denke auch nicht, dass wir das brauchen, aber THX 4 Info!
 

daimonion

Nicht mehr ganz neu hier

AW: Fragen zum meinem Kontaktformular

Nach dem erfolgreichen Senden einer Mail (Auswertung des Funktionsaufrufes) leitest du am besten die Seite mittels der PHP Funktion header um. In der aufrufenden Seite kannst du dann eine Ausgabe machen. Ich hab meistens ein Message sKript, welches ich Variabel mit Inhalt füllen kann.
 

pain2000

Nicht mehr ganz neu hier

AW: Fragen zum meinem Kontaktformular

Nach dem erfolgreichen Senden einer Mail (Auswertung des Funktionsaufrufes) leitest du am besten die Seite mittels der PHP Funktion header um. In der aufrufenden Seite kannst du dann eine Ausgabe machen. Ich hab meistens ein Message sKript, welches ich Variabel mit Inhalt füllen kann.
Ja cool, so ist das nat. sauberer... Merci dir für den Tip.
 

stroyer

Aktives Mitglied

AW: Fragen zum meinem Kontaktformular

Oder einfach noch einen bestimmten Wert in einem hidden-Feld lassen, der Serverseitig ausgegeben wird und immer nur einmal verwendbar ist. So lasst es sich auch im IE umgehen, dass wenn ein Doppelklick zu lange dauert das zweimal auferufen wird, bevor die Umleitung beim Client landet.

Und in Sachen Captcha läuft hier ein Thread.
 

daimonion

Nicht mehr ganz neu hier

AW: Fragen zum meinem Kontaktformular

Das mit dem hiddenfeld ist natürlich zusätzlich für Spam von Vorteil. Bots laufen da dann oft ins leere, weil direkte Postanfrage nicht mehr funktionieren und die Seite fällt aus dem Raster.
 

mfwenzel

Nicht mehr ganz neu hier

AW: Fragen zum meinem Kontaktformular

Hm also irgendwie bekomm ich das net hin, hab auch mal bei google etc. geschaut, aber irgendwie ...

wo muss ich denn

Code:
<?php
$sender = "sender@deinedomain.de";
$empfaenger = "empfaenger@donnert.de";
$betreff = "Hier kommt eine eMail von $sender";
$mailtext = "Moin Heinz!<br>Ich hoffe Deine <b>eMailAdresse</b> $empfaenger existiert noch.";
mail($empfaenger, $betreff, $mailtext, "From: $sender\n" . "Content-Type: text/html; charset=iso-8859-1\n");
?>
hinsetzen?

und ich verstehe nicht, wie der(der php mensch) mit den zeilen da oben mein formular auslesen kann und das Feld "Email" auslesen soll Oo

Thx schon mal ;)
 
Zuletzt bearbeitet:

stroyer

Aktives Mitglied

AW: Fragen zum meinem Kontaktformular

Das liest dein Formular kaum bis nicht aus.
Das Formular schickt die Daten ja per Post/Get an eine unter action="..." stehende Adresse ab. In diesem Script musst du dann alle Daten ($_POST[...] bzw. $_GET[...]) verarbeiten und dann erst kannst du ein Mail abschicken. Wie du dann das Mail ausgibst, hängt von deinen Wünschen ab.
Könntest du vielleicht einmal deinen kompletten Quelltext posten?
 

mfwenzel

Nicht mehr ganz neu hier

AW: Fragen zum meinem Kontaktformular

weiter oben hab ich einen link

aber hier noch mal oder soll ichs posten?

ich mach mal ^^

Code:
<html>
<head>
<title>Kontaktformular</title>
</head>
<body>
<?php

$Empfaenger = "xxx@xxx.de";

if($_REQUEST['Send'])
{
   if(empty($_REQUEST['Vorname']) || empty($_REQUEST['Nachname']) || empty($_REQUEST['Tel_privat']) || empty($_REQUEST['Email']))
{
      echo"Bitte gehen Sie <a href=\"javascript:history.back();\">zurück</a> und füllen Sie alle Pflichtfelderfelder aus!";
   }
   else
   {
      $Mailnachricht = "Sie haben folgende Nachricht erhalten\n\n";
      while(list($Formularfeld, $Wert)=each($_REQUEST))
      {
         if($Formularfeld!="Send")
         {
            $Mailnachricht .= $Formularfeld.": ".$Wert."\n";
         }
      }
      $Mailnachricht .= "\nDatum/Zeit: ";
      $Mailnachricht .= date("d.m.Y H:i:s");
      $Mailbetreff = "Kontakt: ";
      $Mailbetreff .= $_REQUEST['Betreff'];
      mail($Empfaenger, $Mailbetreff, $Mailnachricht, "From: ".$_REQUEST['Email']);
      echo"Vielen Dank für Ihre eMail!";
   }
}
else
{
   echo"Ein Fehler ist aufgetreten. Bitte gehen Sie auf diese <a href=\"kontakt.php\">Seite</a>.";
}

?>
</body>
</html>
 

stroyer

Aktives Mitglied

AW: Fragen zum meinem Kontaktformular

Entschuldige, den Link habe ich glatt übersehen, obwohl er eh fett war.
Naja 1) die Position der mail()-Funktion passt,
2) wenn du ein Formular abschickst, werden die daten daraus entweder per POST oder per GET (oben in der Adressleiste als Variablen) dem Server übergeben. Du kannst dann über $_POST bzw. $_GET oder auch $_REQUEST (entspricht ungefähr $_POST+$_GET) darauf zugreifen.
 
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.067
Mitglieder
67.488
Neuestes Mitglied
Andrew56524
Oben