Ankündigung

Einklappen
Keine Ankündigung bisher.

Mailfunktion Parameter Problem

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Mailfunktion Parameter Problem

    Hallo,

    ich habe gerade das Problem, das ich versuche ein Kontaktformualr zu erstellen. Dank Vorlage klappt die bis jetzt auch ganz gut, es gibt einen Parameter für den Namen des Versänder, einen für seine Mail adresse und einen für die Nachricht, jetzt würde ich aber gerne noch einen weitern paramaeter hinzufügen, diese soll auch über ein Formuar übergeben werden. der Inhalt soll jedoch auch im Mail text landen, da wo bis jetzt die Nachricht hinkamm, sozusagen also noch zusätzlich zu dieser. Könnt ihr mir da weiterhelfen? Ich bin noch ein Blutiger anfönger was PHP betrifft deswegen verzeiht mir bitte meine untechnische Ausdrucksweise.
    Hier mein code, das html technische hab ich schon so ungefär hingekriegt, heißt die Zeile wo man den zusätzlichen Parameter eintippen soll ist die GlaskrugNr. Nun soll dieser Inhalt eben nur noch verschickt werden:

    PHP-Code:
    <?php

    // *** Einstellungen ***
    $mail_to 'kommtnoch@gmx.net'

    // #############################################################################
    $from_name=GetParam('fromname');
    $from_mail=strtolower(GetParam('frommail'));
    $mail_subject="Bestellung";
    $mail_text=GetParam('mailtext');
    $send=GetParam('s');


    $err_text='';
    if(
    trim($from_name)==''$err_text.='Bitte geben Sie Ihren Namen an.<br>';
    if(
    trim($from_mail)=='')
      
    $err_text.='Bitte geben Sie Ihre E-Mail-Adresse an.<br>';
    else
      if(!
    preg_match('/^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,6})$/i',$from_mail))
        
    $err_text.='Bitte geben Sie eine gültige E-Mail-Adresse an.<br>';
    if(
    trim($mail_subject)==''$err_text.='Bitte geben Sie einen Betreff ein.<br>';
    if(
    trim($mail_text)==''$err_text.='Bitte geben Sie einen Nachrichtentext ein.<br>';

    // *** Zu langen Text abschneiden ***
    if(strlen($mail_text)>1000) {
      
    $mail_text=substr($mail_text,0,1000).'... (Text wurde gekürzt!)';
    }
    $from_name=str_replace(chr(34),"''",$from_name);
    $mail_subject=str_replace(chr(34),"''",$mail_subject);
    $from_name=stripslashes($from_name);
    $from_mail=stripslashes($from_mail);
    $mail_subject=stripslashes($mail_subject);
    $mail_text=stripslashes($mail_text);

    if ((
    $send == '1') && ($err_text != '')) {
      echo 
    '<p><big><b>Fehler:</b></big><br>';
      echo 
    $err_text.'</p>';
    }

    if ((
    $send != '1') || ($err_text != '')) {
    ?>

    <form action="<?=GetParam('PHP_SELF','S')?>" method="post">
    <table border=0 cellspacing=2 cellpadding=0 width=100%>
    <tr><td nowrap align=right>Ihr Name:</td><td>&nbsp;</td>
    <td width=100%><input type="text" name="fromname" size=50 maxlength=120 value="<?=$from_name?>"></td></tr>

    <tr><td nowrap align=right>Ihre E-Mail-Adresse:</td><td></td>
    <td width=100%><input type="text" name="frommail" size=50 maxlength=120 value="<?=$from_mail?>"></td></tr>

    <tr><td nowrap align=right>Glaskrug Nr.</td><td></td>
    <td width=100%><input type="text" name="mailtext" size=3 maxlength=120 value="<?=$glas?>"></td></tr>

    <tr><td nowrap align=right valign=top>Text:<br><i>(max. 1.000 Zeichen)</i></td><td></td>
    <td width=100%><textarea cols=40 rows=10 name="mailtext"><?=$mail_text?></textarea></td></tr>
    <tr><td></td><td></td><td>
    <input type="hidden" value="1" name="s">
    <input type="submit" value="Nachricht versenden" name="submit">
    </td></tr>
    </table>
    </form>

    <?php
    } else {
      
    $header="From: $from_name <$from_mail>\n";
      
    $header.="Reply-To: $from_mail\n";
      
    $header.="X-Mailer: PHP-ContactForm-Script\n";
      
    $header.="Content-Type: text/plain";
      
    $mail_date=gmdate('D, d M Y H:i:s').' +0000';
      
    $send=0;
      if(@
    mail($mail_to,$mail_subject,$mail_text,$header))
      {
        echo 
    "<p><b>Die Nachricht wurde erfolgreich abgesendet.</b></p>";
        echo 
    "<p><a href=\"".GetParam('PHP_SELF','S')."?from_name=$from_name&from_mail=$from_mail\">Zurück zum Formular</a></p>";
      }else{
        echo 
    "<p><b>Beim Versenden der Nachricht ist ein Fehler aufgetreten!</b></p>";
        echo 
    "<p><a href=\"".GetParam('PHP_SELF','S')."?from_name=$from_name&from_mail=$from_mail&mail_subject=$mail_subject&mail_text=";
        echo 
    urlencode($mail_text)."\">Zurück zum Formular</a></p>";
      }
    }

    function 
    GetParam($ParamName$Method 'P'$DefaultValue '') {
      if (
    $Method == 'P') {
        if (isset(
    $_POST[$ParamName])) return $_POST[$ParamName]; else return $DefaultValue;
      } else if (
    $Method == 'G') {
        if (isset(
    $_GET[$ParamName])) return $_GET[$ParamName]; else return $DefaultValue;
      } else if (
    $Method == 'S') {
        if (isset(
    $_SERVER[$ParamName])) return $_SERVER[$ParamName]; else return $DefaultValue;
      }
    }
    ?>
    Gruß,

    Vovin


  • #2
    Also willst du nur schlicht und einfach zwei verschiedene Textwerte zu einem zusammenfügen?

    Dann mach das, Stichwort Verkettungsoperator.

    Kommentar

    Lädt...
    X