• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Kontaktformular

Status
Für weitere Antworten geschlossen.

Doktor

Neues Mitglied
Ich kenn mich zwar mit PHP noch nicht so gut aus aber ich hab mal versucht ein kontaktformular selberzumachen. Dieses Kontaktformular sollte Pflichtfelder beinhalten (also wenn zb ein Pflichtfeld nicht ausgefüllt wurde, bzw. keine reichte email angegeben wurde, dann sollte so ein Pop up Fenster erscheinen) und bei erfolgreicher übertraung zu einer von mir erstellten seite weiterleiten.
Da ich mich nun mit php nicht so richtig auskenne, hab ich im Internet nach ein paar Tutorials oder Codes gesucht, die das können was ich will. Das Design hab ich nun soweit fertig und ich hab auch versucht, dass mit den Pop Ups zu lösen (muss nicht unbedingt Pop-up sein, lieber wäre mir, dass überhalb vom Formular gleich die Fehlermeldung ausgespuckt wird, allerdings hab ich da nichts dazu gefunden; aber Pop up ist ausreichend (vorerst). Ich hab das Kontaktformular soweit jetzt hochgeladen, weiß aber nicht ob ich das mit der fehlerausgabe richtig umgesetzt habe. So siehts bisher aus: Kontaktformular

Ist bisher alles richtig oder schon schwerwiegende fehler im Code. Mit dem Pop Up bzw. der Fehlerausgabe war ich mit gar nicht sicher.

Quelltext siehe 3. Beitrag


2.) Ich hab zwar auch ein Tutorial gefunden zum kontaktformular auswerten.php, allerdings hat das nicht funktioniert.
Wisst ihr vielleicht ein Tutorial, dass mir erklärt wie ich das schreibe ( Weiterleitung und Pop-Up) oder gibts da schon etwas vorgefertigtes??
 
Zuletzt bearbeitet:
Werbung:
Mein Fehler, war nur der Code vom Design und von meinen missglückten Javascript Versuchen (Pop Up)

Edit:
Nochmal von vorne:
Da, soweit ich im Internet gelesen habe, mein Javascript Ansatz falsch ist, hier nochmal nur der Code vom Design.

Code:
<!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=utf-8" />
<title>Kontaktformular</title>
<link href="Kontakt.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div class="Komplett">
  <div class="Linkeseite">Vorname*
    <input name="Vorname" type="text" class="Textfeld" id="Vorname" />
    <br />
    Nachname*
    <input name="Name" type="text" class="Textfeld" id="Name" />
    Email*
    <input name="Email" type="text" class="Textfeld" id="Email" />
    <br />
    Betreff*
    <input name="Betreff" type="text" class="Textfeld" id="Betreff" />
  </div>
  <div class="Rechte">Telefon
    <input name="Telefon" type="text" class="Textfeld" id="Telefon" />
    Strasse
    <input name="Strasse" type="text" class="Textfeld" id="Strasse" />
    <br />
    PLZ/Ort
    <input name="PLZ" type="text" class="Textfeld" id="PLZ" />
    <br />
    Homepage<br />
    <input name="Homepage" type="text" class="Textfeld" id="Homepage" />
  </div>
  <p><br />
  </p>
  <p>&nbsp; </p>
  <p>Ihre Nachricht:*<br />
    <textarea name="Nachricht" class="Nachricht" id="Nachricht"></textarea>
    <br />
  </p>
  </p>
  Die mit * markierten Felder sind Pflichtfelder
  <p>&nbsp; </p>
  <div>
    <div align="center">
      <input name="Submit" type="submit" class="Button" id="Submit" value="Senden" />
      <input name="Reset" type="reset" class="Button" id="Reset" value="Reset" />
    </div>
  </div>
</div>
</body>
</html>
Fragen:
1.) Ich würde gerne diese einzelnen Werte der Felder an die Kontakt-Auswerten datei schicken: Geht das mit folgenden Code:
Code:
<form action="kontaktformular-auswerten.php" method="post">
?? Wenn ja wo in meinem Quelltext muss ich diesen einfügen??
2.) Ich hätte gerne, falls zb Pflichtfelder (Vorname, Nachname, Email, Betreff, Nachricht) nicht ausgefüllt wurden eine Meldung (z.b. Pop Up; diese Meldung sollte auf der gleichen Seite sein, also nicht eine neue weise Seite mit dem jeweiligen Satz): Wie setze ich dies um, welche Codes brauch ich dafür, wo müssen die Codes stehn (in allen beiden php dokumenten: kontakt+kontakt auswerten ??; Wo im quelltext??) Mein Ansatz: siehe unten
3.) Wie sieht ein Grundaufbau eines Kontakt-Auswerten. php datei aus?
4.) Wie leite ich auf eine Seite weiter nach erfolgreichem ausfüllen?
5.) Wie kann ich das Aussehen der Email verändern?

Natürlich sind dies wahrscheinlich Standart Fragen, die jeden Tag geschrieben werden: Ich hab auch schon viele gelesen, aber da das mein erster Versuch mit php ist, verstehe ich nicht, wie ich das umsetze( bestes Beispiel: Die Pop up Fenster (" Sie haben keinen Vornamen eingegeben"), wie sage ich, dass wenn das feld Vorname nicht ausgefüllt worden ist, dass dann dieser Satz eingeblendet wird bzw. wenn ein anderes feld fehlt....
Beispiel: Ich hab im Internet gelsen, dass es irgendwie so gehn muss:
PHP:
if($_REQUEST['Send'])
{
   if(empty($_REQUEST['Vorname'])
{
echo
Was muss bei mir in diesen Klammern stehn ($_REQUEST['Vorname']). Wenn ich das richtig verstanden habe, dann muss bei mir das gleichhe stehn, also immer das was im obigen Code hinter id= steht (bei mir auch id="Vorname".
Wo muss diese if Aufzählung im Quelltext stehn/in beiden php Datein??
Was kommt nach dem Echo, wenn ich eine Fehlermeldung ausgeben will?
Wie setze ich diese if Aufzählung jetzt weiter fort (für Nachname: "Sie haben keinen Nachnamen eingeben").....??


EDIT:
So ich hab nun wieder was gefunden mit dem pop up:

Code:
[COLOR=#000000][COLOR=#800000]<script type="text/javascript">
function eingaben_ueberpruefen(){
 var mail = document.Formular.email.value;
 if (document.Formular.vorname.value.length < 3){
  alert("Bitte geben Sie einen Vornamen ein")
  document.Formular.vorname.focus();
  return false;
 }

 else if (document.Formular.nachname.value.length < 3){
  alert("Bitte geben Sie Ihren Nachnamen ein");
  document.Formular.nachname.focus();
  return false;
 }

 else if (mail.length < 10 || mail.indexOf ('@',0) == -1 || mail.indexOf ('.',0) == -1){
  alert("Bitte geben Sie eine gültige E-Mail-Adresse ein.")
  document.Formular.email.select();
  return false;
 }

 else if (document.Formular.betreff.value.length < 10){
  alert("Bitte geben Sie einen Betreff ein!")
  document.Formular.betreff.focus();
  return false;
 }

 else if (document.Formular.nachricht.value.length < 20){
  alert("Bitte geben Sie eine Nachricht ein!")
  document.Formular.nachricht.focus();
  return false;
 }

 else
 return true;
}
</script>[/COLOR][/COLOR]

Würde das gehn in meinem Fall? Was ist der Unterschied zu meinem Ansatz von oben mit dem if?
 
Zuletzt bearbeitet:
Werbung:
Warum Wirrwar. Den Code ganz am Anfang hab ich ja schon gesagt, dass der fehlerhaft ist. Aber der 1. Code in meinem 3. Beitrag ist doch bisher nur Design. Warum sollte dieser Wirrwar sein?
Er geht ja auch: Kontaktformular
Ich will aber jetzt nicht nur Design sondern ein komplettes Kontaktformular mit ich sags zum 3. mal Pflichtfeldern und Fehlerausgabe= Pop Up oder ähnlich.
Da das meine ersten Gehversuche mit PHP sind brauch ich dabei "ein wenig" Hilfe. Ich hab ja inzwischen in meinem 2. Beitrag genaug fragen gestellt und sogar schon zum Pop-up Problem eine vielleicht mögliche Lösung geliefert. Diese wollte ich von euch bestätigt haben, dass dies bei mir geht und noch ein wenig Hilfe bei meinen anderen Fragen.

Da ich weiß das ihr mir hier nicht alles ganz genau beschreiben könnt (Lust oder Zeit), hab ich ja zum Beispiel schon den Lösunganstaz mit Pop Up gebracht (weiß halt nicht ob es richtig ist).
Könnte ich dieses PHP / Kontaktformular (1) - Homepage-Total.de Kontaktformular (den Anfangs php Teil; Design hab ich schon) für mich benutzen (Pflichtfelder sind gleich) und nur noch die Zusatzfelder ergänzen (wie?).
Allerdings ist diese Lösung ja nur eine Php Datei, ich hätte aber gerne 2 Dateien(kontakt+kontakt auswerten). Muss ich dann in meine Kontakt.php folgendern Code einbinden:
<form action="kontaktformular-auswerten.php" method="post">und den oberen teil bis javascript ende als kontakt-auswerten datei benutzen? Welche veränderungen sind dazu noch notwendig??
 
Zuletzt bearbeitet:
Wirrwar deswegen, weil es halt falsch ist - wo ist bei dir ein Formular-Tag etc.

Alles was du brauchst ist oben beim Link zu finden...
von Formular schreiben bis Formular auswerten findest du dort alles.
 
Werbung:
Von mir aus ist es "Wirrwar", Formular Tag(Keine Ahnug was das ist(bin erst am PHP lernen) soweit ich mir das vorstellen kann fehlert deshalb weil der Code oben NUR Design ist und keinerlei PHP/Formular "Sprache". Der Grund: Ich möchte gerne von euch wissen wo ich das einfügen muss usw (Fragen oben).
Ich werde mir natürlich den Self HTML link anschaun, da ich auch nach einem Tutorial gefragt habe. Trotzdem wäre es mir recht, wenn ihr/du mir sagen würdet, ob ich meinen Link oben mit dem kontaktformular verwenden kann und ob dafür mein oben geannter Befehl (falls richtig) als "Trennglied" dienen kann (aus dder einen PHP Datei mach 2). Wenn ja was muss ich dort noch ergänzen und wo ??

Ich hab mir zwar aus Zeitgründen die Self HTML Seite noch nicht durchlesen können, denke aber nicht das dort auch dieser Javascript Teil beschrieben wird( Deswegen frage ich euch erstmal: Kann ich den Javascript teil bzw den ganzen oberen teil aus dem obigen Link für meine kontakt-auswerten.php datei benutzen?

Im Notfall schreibe ich das Formular (Design hab ich aber schon) auch selbst(mithilfe von selfhtml und hoffentlich euch), lieber wäre es mir aber ein bestehndes Formular nach meinen Wünschen anzupassen. Dafür brauche ich allerdings eure Hilfe (meine bisherigen Fragen soweit möglich beantworten).


Edit: Wird bei diesem selfhtml tutorial ein php oder html formular beschrieben??
 
ok dann zum Mitschreiben:

Dein Formular ist kein Formular, denn der Formular-Tag fehlt.
Damit ist gemeint:
PHP:
<form action="..." method="...">
[...]
</form>

Wenn du SelfHTML gelesen hättest würdest du wissen dass du in action="" die Zielseite angeben kannst. Dort kannst du das Formular dann auswerten.

Wie das mit dem Auswerten funktioniert steht auch auf SelfHTML.

Dadurch löst sich dann auch schon die Frage wie du aus einer Datei zwei machst.

weitere Fragen?
 
Werbung:
Jop, zu html-Formularen, nicht zur php-Formularverarbeitung. Darum gehts ihm ja, damit er auch mal den Unterschied sieht ;)
 
K nun weiß ich was ein Formular tag ist. Diesen Code mit dem post hab ich in meinem beitrag schon geschrieben und euch gefragt ob ich diesen verwenden kann. Nun weiß ich das ich diesen
<form action="kontaktformular-auswerten.php" method="post">Code verwenden kann. Kann ich diesen Code in meinen jetzigen Code irgendwo hinschreiben, d.h. macht es keinen Unterschied ob er jetzt oben/unten/ in der Mitte steht? oder gibt es vll soagr eine spezielle Zeile. Auch das hab ich schon weiter oben gefragt.

Das mit Self Html hab ich jetzt schon durchgelsen, zumindest das wie man Formulare macht(den 1. Link), den 2. mit dem auswerten muss ich noch durchlesen.

-Trotzdem noch eine Frage, die ich auch schon zum 2. mal stelle:
Ich hab auf dieser Seite: PHP / Kontaktformular (1) - Homepage-Total.de ein kontaktformular gefunden, dass mit Javascript überprüft ob die eingaben richtig sind. Kann ich den oben Teil dieses Codes (bis Javascript Ende) für mein kontakt auswerten.php benutzen. Wenn ja was muss ich noch ergänzen bzw. wie ergänze ich meine zusatzlichen nicht pflichteingaben strasse/ort....???

Und dann nur noch eine Frage: Ich hab bei einem Formular auf einer Homepage schon gesehen, dass die Daten nicht mit Javascript überprüft werden, sondern die Fehlerausgabe (z.B "Du hast keinen... angegeben) über dem Formular erscheint mit roter Schrift. Was muss ich anstatt dem javascript Code( von meinem Link weiter oben/falls dieser Code überhaupt bei mir funktioniert) benutzen, dass er kein Pop Up Fenster öffnet mit dem Fehler sondern ihn gleich überhalb ausgibt?

So vielen Dank für eure Antworten erstmal
 
Werbung:
<form action="kontaktformular-auswerten.php" method="post">Code verwenden kann. Kann ich diesen Code in meinen jetzigen Code irgendwo hinschreiben, d.h. macht es keinen Unterschied ob er jetzt oben/unten/ in der Mitte steht? oder gibt es vll soagr eine spezielle Zeile. Auch das hab ich schon weiter oben gefragt.
Code:
<form action="kontaktformular-auswerten.php" method="post">
<!-- dein Formular -->
</form>
Ich hab auf dieser Seite: PHP / Kontaktformular (1) - Homepage-Total.de ein kontaktformular gefunden, dass mit Javascript überprüft ob die eingaben richtig sind. Kann ich den oben Teil dieses Codes (bis Javascript Ende) für mein kontakt auswerten.php benutzen
Ja, du musst ihn nur anpassen damit er für dein Formular funktioniert
Was muss ich anstatt dem javascript Code( von meinem Link weiter oben/falls dieser Code überhaupt bei mir funktioniert) benutzen, dass er kein Pop Up Fenster öffnet mit dem Fehler sondern ihn gleich überhalb ausgibt?
Formular verschicken - mit PHP auswerten - und im Falle eines Fehlers das Formular erneut mit Fehlerhinweis ausgeben
 
Danke erstmal für die Antworten

Also sieht mein kontakt.php dann so aus?
Code:
<!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=utf-8" />
<title>Kontaktformular</title>
<link href="Kontakt.css" rel="stylesheet" type="text/css" />
</head>
<body>
<form action="kontaktformular-auswerten.php" method="post">
<div class="Komplett">
  <div class="Linkeseite">Vorname*
    <input name="Vorname" type="text" class="Textfeld" id="Vorname" />
    <br />
    Nachname*
    <input name="Name" type="text" class="Textfeld" id="Name" />
    Email*
    <input name="Email" type="text" class="Textfeld" id="Email" />
    <br />
    Betreff*
    <input name="Betreff" type="text" class="Textfeld" id="Betreff" />
  </div>
  <div class="Rechte">Telefon
    <input name="Telefon" type="text" class="Textfeld" id="Telefon" />
    Strasse
    <input name="Strasse" type="text" class="Textfeld" id="Strasse" />
    <br />
    PLZ/Ort
    <input name="PLZ" type="text" class="Textfeld" id="PLZ" />
    <br />
    Homepage<br />
    <input name="Homepage" type="text" class="Textfeld" id="Homepage" />
  </div>
  <p><br />
  </p>
  <p>&nbsp; </p>
  <p>Ihre Nachricht:*<br />
    <textarea name="Nachricht" class="Nachricht" id="Nachricht"></textarea>
    <br />
  </p>
  </p>
  Die mit * markierten Felder sind Pflichtfelder
  <p>&nbsp; </p>
  <div>
    <div align="center">
      <input name="Submit" type="submit" class="Button" id="Submit" value="Senden" />
      <input name="Reset" type="reset" class="Button" id="Reset" value="Reset" />
    </div>
  </div>
</div>
</form>
</body>
</html>
Als Kontakt-auswerten.php kann ich das andere Formular benutzen. Was muss ich an diesem dann noch verändern bzw hinzufügen?

Welchen Code muss ich anstatt dem java Script Code für Pop Up benutzen, um die Fehlerausgabe über dem Formular zu benutzen?


EDIT: So hab gerade noch die kontakt-auswerten.php fertig gemacht:

PHP:
<?php
$submit = $_POST['submit'];
$vorname = $_POST['vorname'];
$nachname = $_POST['nachname'];
$betreff = $_POST['betreff'];
$nachricht = $_POST['nachricht'];
$email = $_POST['email'];
$strasse = $_POST['strasse'];
$plz = $_POST['plz'];
$homepage = $_POST['homepage'];

if ($submit == "Absenden") {
 # E-Mail-Adresse
 $an ="[email protected]";

 # Nachricht der E-Mail-Adresse
 $text ="Hallo,\n Sie haben eine neue Nachricht von $vorname $nachname erhalten:\n\n
 ====\n $nachricht\n====\n\nSie können $vorname $nachname unter dieser $email erreichen.
 \n Weitere Daten zum Absender: \n Strasse: $strasse \n Postleizahl/Ort $plz \n Homepage: $homepage"
 ;
 mail($an,$betreff,$text,"From: ".$email);
 echo "<b>Ihre Nachricht wurde gesendet!</b>";
}
else { ?>

<script type="text/javascript">
function eingaben_ueberpruefen(){
 var mail = document.Formular.email.value;
 if (document.Formular.vorname.value.length < 3){
  alert("Sie haben noch keinen Vornamen eingegeben!")
  document.Formular.vorname.focus();
  return false;
 }

 else if (document.Formular.nachname.value.length < 3){
  alert("Bitte geben Sie Ihren Nachnamen ein");
  document.Formular.nachname.focus();
  return false;
 }

 else if (mail.length < 10 || mail.indexOf ('@',0) == -1 || mail.indexOf ('.',0) == -1){
  alert("Bitte geben Sie eine gültige E-Mail-Adresse ein.")
  document.Formular.email.select();
  return false;
 }

 else if (document.Formular.betreff.value.length < 10){
  alert("Bitte geben Sie einen Betreff ein!")
  document.Formular.betreff.focus();
  return false;
 }

 else if (document.Formular.nachricht.value.length < 20){
  alert("Bitte geben Sie eine Nachricht ein!")
  document.Formular.nachricht.focus();
  return false;
 }

 else
 return true;
}
</script>
Leider funktioniert weder die Pop Ups noch Senden.
siehe: Kontaktformular
 
Zuletzt bearbeitet:
evtl. solltest du das erstmal ohne das javascript testen, also diesen text erstmal komplett rausnehmen
 
Werbung:
wunderbar wenn man den header der email erweitern kann wie man will :?

bissle auf die sicherheit solltet ihr schon achten....
 
Auch ohne den Javasrcipt funktioniert es nicht. Jedesmal kommt folgener Fehler: Parse error: syntax error, unexpected $end in /usr/export/www/hosting/projektpfinz/test/kontakt-auswerten.php on line 26.

Vielleicht weiß ja einer von euch was das bedeutet, und was ich verändern muss, damit es geht, bzw. es gleichzeitiger sicherer wird

Zu der Sicherheit: Da ich mich leider mit kontaktformularen noch nicht so gut auskenne, ich aber trotzdem gerne es sicheres Forumlar hätte, würd ich schon gerne wissen, was ich an dem Code verändern muss, damit es sicher wird. Vielleicht kann es mir ja einer von euch sagen?!
 
Werbung:
@bronko. jo danke jetzt wurde die Nachricht versendet und ist auch in den Emails angekommen.

Trotzdem funktionieren die Pflichtfelder nicht. Was muss ich da ändern, bzw. wie mache ich dass keine Pop Ups erscheinen, sondern die Fehlerausgabe überhalb vom Formular??

@ freak: du sagst das Forumlar ist unsicher. Leider kenn ich mich mit php noch nicht gut aus (ist mein erstes Projekt mit PhP). Was muss ich ändern damits sicherer wird?
 
Status
Für weitere Antworten geschlossen.
Zurück
Oben