Diese Anzeige ist nur für
Nicht-Mitglieder sichtbar!

Jetzt kostenlos registrieren

PHP Text-Reminder

Fragen zum Thema PHP können hier gestellt werden

Moderatoren: Basti, Guillermo, Andreas W.

PHP Text-Reminder

Beitragvon Dani1992 am 18.08.2011, 18:30

Hallo liebe Forumuser,

bin ganz neu hier und hoffe Ihr könntet mir etwas behilflich sein!
Bin gerade dabei für die Firma meines Vaters eine Homepage zu erstellen...schön und gut! Mit Dreamweaver ist das so gut wie kein Problem für jemanden wie mich, der nicht sehr viel Ahnung davon hat! Bisher habe ich mich überall hineingelesen und gelernt!
Doch für eine Frage habe ich auch im Internet noch keine Antwort gefunden:

Und zwar habe ich ein Kontaktformular in html im gleichen Layout, wie die ganze Website ist, erstellt!
Habe auch schon eine kleine send.php erstellt. Das ganze funktioniert auch soweit. Dabei habe ich auch festgelegt, dass alle Felder vor Absenden der E-Mail ausgefüllt werden müssen. Jetzt ist das Problem aber, dass, wenn jemand aus Versehen vergisst ein Feld auszufüllen und abschickt, alles komplett aus den jeweiligen Textfelder gelöscht wird, was der User eingegeben hat. Wie kann ich nun erreichen, dass der User den Text nicht wieder neu eingeben muss, wenn er das Formular versehentlich mit einem oder mehreren leeren Textfeldern versucht hat zu verschicken und die Fehlermeldung kommt: Bitte alle Felder ausfüllen! ?

Ich lade das ganze schonmal hoch: http://www.d-i-h.de

Und den php-Code stelle ich hier mal rein:
Code: Alles auswählen
<?php

/* Betreff und Email Variable */

   $emailbetreff = 'd-i-h.de Kontakt';
   $webmaster = 'daniel.hofmann@d-i-h.de';

/* Emailform Daten */

   $nameFeld = $_POST['name'];
   $mailFeld = $_POST['mail'];
   $betreffFeld = $_POST['betreff'];
   $nachrichtFeld = $_POST['Nachricht'];
   $agbFeld = $_POST['agb'];

if( $nameFeld == true && $mailFeld == true && $nachrichtFeld == true && $agbFeld == true && $betreffFeld == true )
{
   $body = <<<EOD
<br><hr><br>   
Name: $name <br>
E-Mail: $mail <br>
Betreff: $betreff <br>
Nachricht: $Nachricht <br>
AGB: $agb <br>
EOD;

   $headers = "From: $mail\r\n";
   $headers .= "Content-type: text/html\r\n";
   
   if( mail($webmaster, $emailbetreff, $body, $headers) )
   {
      header ("location: Kontaktyes.html");
   }
   else
   {
      header ("location: Kontaktno.html");
   }
}
else
{
   header ("location: Kontaktnichtausgefüllt.html");
}

?>


Wäre euch für einen Tipp echt dankbar! Vielleicht kann mir da jemand weiterhelfen!

Liebe Grüße
Daniel
Dani1992
Mitglied
 
Beiträge: 3
Registriert: 18.08.2011, 18:17
Diese Anzeige ist nur für
Nicht-Mitglieder sichtbar!
 
Jetzt kostenlos registrieren

Re: PHP Text-Reminder

Beitragvon Andre am 18.08.2011, 19:05

Hallo,

soweit kann ich dir auch nicht helfen, aber vielleicht hilft dir diese Seite weiter.
Hier bekommst du ein besseres und sichereres Kontaktformular und es lässt sich erweitern.

Habe ich mir auch zusammengebaut und erweitert.

Liebe Grüße
Andre
Andre
Mitglied
 
Beiträge: 47
Registriert: 07.07.2011, 01:18

Re: PHP Text-Reminder

Beitragvon Dani1992 am 18.08.2011, 19:59

Hallo Andre,

danke erst mal für deine Antwort! Hab mir das alles mal durchgelesen und versucht anzuwenden! Aber schon bei Pflichtfeld überprüfen scheitere ich. Habe den Code eingefügt gehabt und einen $Pflichtfeld=array erstellt. Aber irgendiwe ging das ganze nicht, die Email wurde trotzdem versendet. Variablen kann ich in dem Array nicht einfügen oder? Also z.B. $Pflichtfeld=array("$nameFeld",...);

Gruß
Daniel
Dani1992
Mitglied
 
Beiträge: 3
Registriert: 18.08.2011, 18:17

Re: PHP Text-Reminder

Beitragvon Andre am 18.08.2011, 20:58

Hallo Dani1992,

Code: Alles auswählen
define ('MAILTO', "meine@mail.com"); // Empfänger hier eintragen
define ('MAILFROM', "meine@mail.com"); // ggfls. Absender hier eintragen
define ('CHARSET', "ISO-8859-15"); // Zeichenkodierung ggfls. anpassen
$Pflichtfelder = array('Vorname'); // ggfls. weitere Pflichtfelder angeben


Einfach diesen Teil der Einstellung erweitern, z.B. so:

Code: Alles auswählen
$Pflichtfelder = array('Nachricht','Name'); // Nachricht und Name sind Pflichtfelder


Code: Alles auswählen
$Pflichtfelder = array('Nachricht','Name','Email'); // Nachricht, Name und Email sind Pflichtfelder


Angabe aus name="..." (z.B. name="Name") in '...' setzen und mit Komma trennen.

Code von der angegeben Seite.

Code: Alles auswählen
function Formular_Pflichtfelder() {
  global $Pflichtfelder;
  $Fehler = '';
  foreach ($Pflichtfelder as $Feld) {
    $key = str_replace(' ','_',$Feld);
    if(!(isset($_POST[$key]) && trim($_POST[$key])!=='')) {
      if($Fehler) $Fehler .= '<br >';
      $Fehler .= 'Pflichtfeld "' . $Feld . '" nicht ausgefüllt.';
    }
  }
  return $Fehler;
}


Liebe Grüße
Andre
Andre
Mitglied
 
Beiträge: 47
Registriert: 07.07.2011, 01:18

Re: PHP Text-Reminder

Beitragvon Dani1992 am 21.08.2011, 09:54

Hallo Andre,

danke für die Hilfe. Habe das Kontaktformular mittlerweile aber von der Homepage geschmissen und gebe da jetzt nur noch die Kontaktdaten an. Bei klicken auf die E-Mail soll sich dann das Standard-Email-Programm öffnen.
Ich werde deine Erklärung zu den Codes trotzdem nochmal anwenden, weil es mich einfach interessiert, auch wenn das Kontaktformular nicht mehr auf der Seite ist! Trotzdem ein großes Danke! ;-)

LG Dani
Dani1992
Mitglied
 
Beiträge: 3
Registriert: 18.08.2011, 18:17


Zurück zu PHP

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 2 Gäste