Antworten auf deine Fragen:
Neues Thema erstellen

Kontaktformular senden

annymaui

Noch nicht viel geschrieben

Hallo zusammen,
erstmal wünsche ich euch allen ein gesundes neues Jahr.
Da ich ein PHP-Neuling bin und gerade einen absoluten Hänger habe und nicht weiter komme, vielleicht könnt Ihr mir ja dabei weiter helfen.
Ich habe ein Kontaktformular aufgebaut, aber es wird nicht versendet, keine Ahnung warum nicht. Ich wäre euch sehr dankbar für Tipps und Hilfe.
Hier ist mal das Formular:
HTML:
<form method="POST" action="versand.php" >
                    <fieldset><legend>Schreiben Sie uns eine Mail</legend>
                        <label for="anrede">Anrede</label>
                        <select id="anrede">
                            <option />
                            <option>Herr</option>
                            <option>Frau</option>
                        </select>
                        <label>Vorname</label><input type="text" name="vorname" />
                        <label>Nachname*</label><input type="text" name="nachname" required="required" />
                        <label>Firma*</label><input type="text" name="firma" required="required" />
                        <label>Straße/Hausnr.*</label><input type="text" name="strasse" id="strasse" required="required" /><input type="text" name="hnr" id="hnr" maxlength="5" required="required" />
                        <label>PLZ/Ort*</label><input type="text" name="plz" id="plz" maxlength="5" required="required" /><input type="text" name="ort" id="ort" required="required" />
                        <label>E-Mail*</label><input type="email" name="mail" required="required" />
                        <label>Telefon</label><input type="tel" name="tel" />
                        <div class="clear"></div>
                        <div class="kataloge">
                            <form action="input_checkbox.htm">
                                <p>Kreuzen Sie die gewünschten Kataloge an:</p>
                                <div id="kataloge">
                                    <input type="checkbox" name="stifte" > Stifte<br>
                                    <input type="checkbox" name="kalender" > Kalender<br>
                                    <input type="checkbox" name="textilien" > Textielien<br>
                                    <input type="checkbox" name="suesses" > Süße Werbung<br>
                                    <input type="checkbox" name="glasundporzelan" > Glas und Porzelan<br>
                                    <input type="checkbox" name="wachsendes" > Wachsende Werbung<br>
                                    <input type="checkbox" name="giveaways" > Give Aways<br>
                                    <input type="checkbox" name="schreibmappen" > Schreibmappen<br>
                                    <input type="checkbox" name="taschen" > Taschen<br>    
                                    <input type="checkbox" name="karten" > Karten<br>                    
                                </div>
                            </form>
                        </div>
                            <span class="left"><label>Ihre Nachricht*</label><textarea name="msg" id="msg" required="required"></textarea></span>
                            <!--<label></label><input type="checkbox" name="agb" id="agb" required="required" /><span class="left">Ich habe die <a href="agb.html" target="_blank">AGB</a> gelesen!*</span>!-->
                            <label></label><input type="checkbox" name="rueckruf" id="rueckruf"  /><span class="left">Ich bitte um Rückruf.</span>
                            <!--<label></label><input type="checkbox" name="newsletter" /><span class="left">Ich möchte den Newsletter abonieren.</span>!-->
                            <label></label><input type="submit" /><input type="reset" />                            
                    </fieldset>
                    </form>
und hier das daszugehörige PHP:
PHP:
  <?php
  $fehler = "";
  $name = $_POST['nachname'];
  $firma = $_POST['firma'];
  $strasse = $_POST['strasse'];
  $hnr = $_POST['hnr'];
  $plz = $_POST['plz'];
  $ort = $_POST['ort'];
  $mail = $_POST['mail'];
  $msg = $_POST['msg'];
  if (empty($nachname)) {
    $fehler .= "<li>der Absendername fehlt</li>" ;
  }
  if (empty($firma)) {
    $fehler .= "<li>die Firma fehlt</li>" ;
  }
  if (empty($strasse)) {
    $fehler .= "<li>die Straße fehlt</li>" ;
  }
  if (empty($hnr)) {
    $fehler .= "<li>die Hausnummer fehlt</li>" ;
  }
  if (empty($plz)) {
    $fehler .= "<li>die PLZ fehlt</li>" ;
  }
  if (empty($ort)) {
    $fehler .= "<li>der Ort fehlt</li>" ;
  }
    if (empty($mail)) {
    $fehler .= "<li>die Mailadresse fehlt</li>" ;
  }
  if (empty($msg)) {
    $fehler .= "<li>keine Nachricht eingetragen</li>" ;
  }
  
  if (empty($fehler)) {
    if (get_magic_quotes_gpc()) {
      $text = stripslashes($text);
    }
    $return = chr(13).chr(10);
    $an = "info@quip-design.de" ;
    $betreff = "quip Designstudio Kontaktformular" ;
    $von = "From: Kontaktformular <info@quip-design.de>" ;
    $datum = "Datum: ".date("j.n.Y").$return;
    $zeit = "Zeit:  ".date("H:i").$return;
    $abs = "Von:   ".$name." <".$mail.">".$return;
    $trennen = "-----------------------------------------------".$return;
    $nachricht = $datum.$zeit.$abs.$trennen.$text;
    mail($an,$betreff,$nachricht,$von);
  }
  ?>
  <html>
  <head>
    <title>Kontakt-Formular</title>
  </head>
  <body>
  <?php
  if (empty($fehler)) {
    $return = chr(13).chr(10);
    $nachricht = strip_tags($nachricht);
    $nachricht = htmlentities($nachricht);
    $nachricht = str_replace($return,"<br>",$nachricht);
    echo "<p>Ihre Nachricht wurde versendet.</p>" ;
    echo "<p>$nachricht</p>" ;
  } else {
    echo "<p>Ihre Nachricht wurde nicht gesendet, weil</p>" ;
    echo "<ul>$fehler</ul>" ;
  }
    $text = "Sie haben folgende Kataloge gewählt:<br> - " ;
    if (isset($_POST['stifte'])) $text .= "Stifte - ";
    if (isset($_POST['kalender'])) $text .= "Kalender  - ";
    if (isset($_POST['textilien'])) $text .= "Textilien - ";
    if (isset($_POST['suesses'])) $text .= "Süße Werbung - ";
    if (isset($_POST['glasundporzelan'])) $text .= "Porzelan - ";
    if (isset($_POST['wachsendes'])) $text .= "Wachsende Werbung - ";
    if (isset($_POST['giveaways'])) $text .= "Give Aways - ";
    if (isset($_POST['schreibmappen'])) $text .= "Schreibmappen - ";
    if (isset($_POST['taschen'])) $text .= "Taschen - ";
    if (isset($_POST['karten'])) $text .= "Karten - ";
    if (isset($_POST['keine'])) $text .= "keine - ";
    echo " $text <br>"
  ?>
  </body>
  </html>
  ?>
Schon mal vielen Dank für eure Tipps.
 

JPS

Nicht mehr ganz neu hier

AW: Kontaktformular senden

Hallo,
irgendwie sieht die Benutzung der Mail Funktion seltsam aus. Dein $von ist da glaube ich an der falschen Stelle.
Ich habe mir irgendwann mal ne Function gebastelt die auch Dateien versenden kann. Vielleicht solltest Du das mal probieren und ich hab dir auch ein BCC reingebaut, damit Du testen kannst, ob die Mail versendet wurde.

PHP:
function sendmsg($to, $subject, $text, $from, $file, $type) 
{
$bcc="";

    $content = fread(fopen($file,"r"),filesize($file));
    $content = chunk_split(base64_encode($content));
    $uid = strtoupper(md5(uniqid(time())));
    $name = basename($file);

    $header = "From: $from\nReply-To: $from\n";
    $header .= "Bcc: ".$bcc."\n";
    $header .= "MIME-Version: 1.0\n";
    $header .= "Content-Type: multipart/mixed; boundary=$uid\n";

    $header .= "--$uid\n";
    $header .= "Content-Type: text/html; charset=de-ascii\n";
    $header .= "Content-Transfer-Encoding: 8bit\n\n";
    $header .= "$text\n";

    $header .= "--$uid\n";
    $header .= "Content-Type: $type; name=\"$name\"\n";

    $header .= "Content-Transfer-Encoding: base64\n";
    $header .= "Content-Disposition: attachment; filename=\"$name\"\n\n";
    $header .= "$content\n";

    $header .= "--$uid--";

    mail($to, $subject, "", $header);

return true;
}
 

Duddle

Posting-Frequenz: 14µHz

AW: Kontaktformular senden

Schau dir den Rückgabewert von mail() an, schalte testweise das error_reporting() auf E_ALL und schau dir die Logs deines MTA an, falls du darauf Zugriff hast.
Wenn das nicht das Problem offen legt, entschlacke dein Script, bis du eine Mail erfolgreich versenden kannst.


Duddle
 

hub

nicht ganz neu hier

AW: Kontaktformular senden

Moin moin,
du hast ein paar kleine Fehler im PHP-Script:
Zeile 14: $nachname zu $name
Zeile 44: $text zu $msg
Zeile 51: $text zu $msg
Vielleicht hilft das schon.

Gruß Ulli
 

JPS

Nicht mehr ganz neu hier

AW: Kontaktformular senden

Mal ne andere Frage, warum hast Du ein Formular in einem Formular?
 

annymaui

Noch nicht viel geschrieben

AW: Kontaktformular senden

Ich danke euch schon mal für eure Antworten, werde alles dann gleich mal ausprobieren und mich gegebenenfalls wieder melden.
 
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

Zurzeit aktive Besucher

Statistik des Forums

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