Ankündigung

Einklappen
Keine Ankündigung bisher.

e-mail adresse per Variable im Formular ändern

Einklappen

Neue Werbung 2019

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

  • e-mail adresse per Variable im Formular ändern

    Hallo,

    ich würde gerne in meinem Kontaktformular die e-mail adresse folgendermaßen übergeben:

    <?php
    $mail_to = $_GET['name'];
    ?>

    im Link dann z.b: kontakt.php?name=email@adresse.de

    ist da irgendein Fehler drinn? Funktioniert nämlich leider nicht.

    Wen ich es so mache, geht es...

    $mail_to=mail@adreese.de;


    über ein wenig Hilfe würde ich mich freuen...

    Danke!

  • #2
    Zitat von rcorten Beitrag anzeigen
    Funktioniert nämlich leider nicht.
    Sehr hilfreiche Fehlerbeschreibung.
    Was funktioniert nicht? $_GET mal ausgelistet? error_reporting()?
    Gruss
    L

    Kommentar


    • #3
      außerdem kann das wohl kaum der komplette code sein. eine effektive hilfe setzt umfassende kenntnis des codes voraus

      danke

      Kommentar


      • #4
        tut mir leid, das war mein erster Post..

        Also, mit Fehler meine ich: Er gibt an, dass die mail versendet wird, aber sie kommt nicht an...

        Das hier ist der komplette Code...
        <?php
        $mail_to = $_GET['name'];
        ?>

        <?php
        // *** Deine Mailadresse (Empfänger) ***
        //$mail_to=mail@adresse.de; wenn ich sie hier eintrage geht es.
        // *************************************
        $from_name=$_POST['fromname'];
        $from_mail=strtolower($_POST['frommail']);
        $mail_subject=$_POST['mailsubject'];
        $mail_text=$_POST['mailtext'];
        $send=$_POST['s'];
        if(trim($from_name)=="") $err_text.="Bitte gib Deinen Namen an.<br>";
        if(trim($from_mail)=="")
        $err_text.="Bitte gib Deine E-Mail-Adresse an.<br>";
        else
        if(!ereg("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,6})$",$from_mail))
        $err_text.="Bitte gib eine gültige E-Mail-Adresse an.<br>";
        if(trim($mail_subject)=="") $err_text.="Bitte gib einen Betreff ein.<br>";
        if(trim($mail_text)=="") $err_text.="Bitte gib 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_subje ct);
        $from_name=stripslashes($from_name);
        $from_mail=stripslashes($from_mail);
        $mail_subject=stripslashes($mail_subject);
        $mail_text=stripslashes($mail_text);
        if(($send=="1") && (isset($err_text))) {
        echo "<p><big><b>Fehler:</b></big><br>";
        echo "$err_text</p>";
        }
        if(($send!="1") || (isset($err_text)))
        {
        ?>
        <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
        <table border=0 cellspacing=2 cellpadding=0 width=100%>
        <tr><td nowrap align=right>Dein Name:</td><td>&nbsp;</td>
        <td width=100%><input type="text" name="fromname" size=50 maxlength=120 value="<?php echo $from_name; ?>"></td></tr>
        <tr><td nowrap align=right>Deine E-Mail Adresse:</td><td></td>
        <td width=100%><input type="text" name="frommail" size=50 maxlength=120 value="<?php echo $from_mail; ?>"></td></tr>
        <tr><td nowrap align=right>Betreff:</td><td></td>
        <td width=100%><input type="text" name="mailsubject" size=50 maxlength=120 value="<?php echo $mail_subject; ?>"></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"><?php echo $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-FormMailer (www.gaijin.at)\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>Deine E-Mail wurde abgesendet.</b></p>";
        echo "<p><a href=\"".$_SERVER['PHP_SELF']."?from_name=$from_name&from_mail=$from_mail\">Zur ück zum Formular</a></p>";
        }else{
        echo "<p><b>Beim Versenden der E-Mail ist ein Fehler aufgetreten!</b></p>";
        echo "<p><a href=\"".$_SERVER['PHP_SELF']."?from_name=$from_name&from_mail=$from_mail&mail_ subject=$mail_subject&mail_text=";
        echo urlencode($mail_text)."\">Zurück zum Formular</a></p>";
        }
        }
        ?>
        </body>
        </html>


        Ich hoffe, das mein Problem jetzt etwas deutlicher geworden ist.

        Gruß

        Kommentar


        • #5
          PHP-Code:
          <?php
          error_reporting
          (E_ALL);
          ini_set('display_errors'1);
          if (!isset(
          $_GET['name'])) {
              echo 
          '<pre>Es gibt kein _GET[name]';
              
          var_dum($_GET);
          }
          $mail_to $_GET['name'];

          // *** Deine Mailadresse (Empfänger) ***
          //$mail_to=mail@adresse.de; wenn ich sie hier eintrage geht es.
          // *************************************
          $from_name=$_POST['fromname'];

          Kommentar


          • #6
            vielen dank, erhalte nun folgende Meldungen bei der eingabe folgenden link:
            kontakt.php?name=mail@adresse.de


            Notice: Undefined index: fromname in /srv/www/vhosts/csshouse.de/httpdocs/form/kontakt.php on line 31

            Notice: Undefined index: frommail in /srv/www/vhosts/csshouse.de/httpdocs/form/kontakt.php on line 32

            Notice: Undefined index: mailsubject in /srv/www/vhosts/csshouse.de/httpdocs/form/kontakt.php on line 33

            Notice: Undefined index: mailtext in /srv/www/vhosts/csshouse.de/httpdocs/form/kontakt.php on line 34

            Notice: Undefined index: s in /srv/www/vhosts/csshouse.de/httpdocs/form/kontakt.php on line 35

            Notice: Undefined variable: err_text in /srv/www/vhosts/csshouse.de/httpdocs/form/kontakt.php on line 37


            Danke!

            Kommentar


            • #7
              Zitat von pacey Beitrag anzeigen
              außerdem kann das wohl kaum der komplette code sein. eine effektive hilfe setzt umfassende kenntnis des codes voraus
              Sag das nicht zu laut, sonst postet der nächste wieder 1000 Zeilen Code, statt sich auf die wesentlichen Teile zu konzentrieren

              @rcorten
              Lies mal die Forum-Regeln. Dann editiere deinen Beitrag, setze den Code in PHP-Tags und rücke ihn anständig ein. So kann den ja keiner lesen.

              Die Fehlermeldungen sprechen ja für sich selbst. Wahrscheinlich hast du gar kein Formular abgeschickt, und darum auch keine POST-Variablen.
              Gruss
              L

              Kommentar


              • #8
                also das prolem ist meiner meinung nach folgendes. aufgerufen wird der ganze spass über kontakt.php?dingsdabumsda=email@notset.com

                dann wird ein formular ausgewiesen das den mailtext und den ganzen krempel enthält. und wenn du das submittest ist das _GET von vorhin wieder weg.


                korrekt sollte funktionieren:
                PHP-Code:
                <form action="<?php echo $_SERVER['PHP_SELF'].'?name='.$_GET['name']; ?>" method="post">

                wobei ich das net mit gutem gewissen als saubere lösung gelten lassen kann.

                Kommentar


                • #9
                  Zitat von lazydog Beitrag anzeigen
                  Sag das nicht zu laut, sonst postet der nächste wieder 1000 Zeilen Code, statt sich auf die wesentlichen Teile zu konzentrieren
                  ja ok, aber zu sparsam ist auch nix. so wenig wie möglich so viel wie nötig - wusste schon paracelsus

                  Kommentar


                  • #10
                    vielen Herzlichen dank!!!!!

                    Es hat nun funktioniert.

                    Ds näcshte mal werde ich die Regeln schon früher beachten

                    Gruß und schönen Feiertag

                    Kommentar


                    • #11
                      du wirst es nicht für möglich halten weil es als einsteiger echt nahezu net denkbar ist. den fehler hätte aber bei einem sauber formatierten code normalerweise jeder erfahrenere user in minuten gefunden.

                      Kommentar


                      • #12
                        Da hätte ich aber noch eine Frage:

                        Ist es auch möglich, eine Art ARRAY zu erstellen, sodass im link nicht die empfängeradresse gesendet wird wie hier:

                        kontakt?name=mail@adresse

                        sondern

                        kontakt?name=Peter

                        sodass er dann den String Peter, zu einer ihm vorgegebenen e-mail adresse auflöst.

                        Über hilfe würde ich mich freuen..

                        Danke!

                        Kommentar


                        • #13
                          Klar geht das.
                          PHP-Code:
                          <?php
                          $zuordnung 
                          = array(
                              
                          1=>'a',
                              
                          2=>'b',
                              
                          3=>'c'
                          );

                          $x 2;
                          echo 
                          $zuordnung[$x];
                          Und in einer Datenbank kannst Du das auch abspeichern.

                          Kommentar


                          • #14
                            aber klar doch
                            PHP-Code:
                            $emailadressen = array(
                               
                            'peter' => 'peter@hateineemail.de',
                               
                            'hans'  => 'hans@hataucheine.de'
                            );


                            $mail_to $emailadressen[$_GET['name']]; 

                            Kommentar

                            Lädt...
                            X