Ankündigung

Einklappen
Keine Ankündigung bisher.

Probleme mit dem Formmailer von selfhtml

Einklappen

Neue Werbung 2019

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

  • Probleme mit dem Formmailer von selfhtml

    Hallo,
    ich habe ein Problem mit dem Formmailer den ich von der Seite selfhtml.org habe.
    Mein Problem: Ich möchte die Empfängeradressen über die URL an an das Kontaktformular übergeben. Was auch mitlerweile funktioniert. Nur es kommen keine E-Mails an. Ich bekomme auch keine Fehlermeldung.

    $strEmpfaenger = 'abc@domain.de' (E-Mail wird empfangen)
    $strEmpfaenger = $an (Variabel aus der URL mit der E-Mailadresse kommt nicht an)

    Wie schon gesagt ich bekomme keine Fehlermeldung das Script läuft ansonsten in eins durch. Ich komme bei beiden Varianten auch immer auf die Startseite, wie gewolt, an.

    Hat jemand einen Rat für mich?
    Grüße Christian

  • #2
    Fängt Dein Skript mit
    PHP-Code:
    <?php error_reporting(E_ALL); ini_set('display_errors'true); ?>
    an? Wenn nicht, einfügen.

    echo $an;
    was gibt das aus? Steht da was drin?
    Hilft http://faq-phpfriend.de/q/q-formular...r-globals.html weiter? (Du wärst dann heute erst der Dritte)

    Kommentar


    • #3
      Hallo Bruchpilot,

      danke für deine schnelle Antwort.

      Zu:
      Fängt Dein Skript mit
      PHP:

      <?php error_reporting(E_ALL); ini_set('display_errors', true); ?>

      an? Wenn nicht, einfügen.
      nein tat es nicht. ist jetzt aber korrigiert. Nun bekomme ich die Fehlermeldung:

      Notice: Undefined variable: an in /srv/www/htdocs/web28/html/kontakt.php on line 9

      Warning: Cannot modify header information - headers already sent by (output started at /srv/www/htdocs/web28/html/kontakt.php:9) in /srv/www/htdocs/web28/html/kontakt.php on line 54
      PHP:

      PHP-Code:
      <?php  $strEmpfaenger $an;     #Line 9
      header("Location: $strReturnhtml");   #Line 54
      $strReturnhtml "http://www.wasg-luebeck.de/index.php";


      ?>
      $an zeigt mir die E-Mailadresse an die mit per URL übergeben worden ist.

      Kommentar


      • #4
        Zitat von c.schumacher
        PHP-Code:
        <?php  $strEmpfaenger $an;     #Line 9
        header("Location: $strReturnhtml");   #Line 54
        $strReturnhtml "http://www.wasg-luebeck.de/index.php";
        ?>
        $an zeigt mir die E-Mailadresse an die mit per URL übergeben worden ist.
        Nein, tut sie nicht.
        $_GET['an'] ist der Parameter aus der URL.
        $an würde nur stimmen, wenn register_globals auf on steht. Das tut es scheinbar nicht und das ist auch gut so.

        Der Header klappt dann wegen der ausgegebenen Notice nicht mehr. Das Problem dürfte verschwinden, wenn der Rest bereinigt ist.

        Soll die Reihenfolge von header() und der Zuweisung drunter eigentlich wirklich so sein? Kommt mir seltsam vor...
        **********************************
        Nein, ich bin nicht die Signatur.
        Ich putze hier nur.
        **********************************

        Kommentar


        • #5
          Zitat von Der_Gerhard

          Nein, tut sie nicht.
          $_GET['an'] ist der Parameter aus der URL.
          $an würde nur stimmen, wenn register_globals auf on steht. Das tut es scheinbar nicht und das ist auch gut so.

          Der Header klappt dann wegen der ausgegebenen Notice nicht mehr. Das Problem dürfte verschwinden, wenn der Rest bereinigt ist.

          Soll die Reihenfolge von header() und der Zuweisung drunter eigentlich wirklich so sein? Kommt mir seltsam vor...
          Ich bekomme die Variabel mit $an, mit $_get['an'] wird nichts ausgelesen.
          Ich habe das Sript wie schon oben erwähnt, von selfhtml.org und habe nur geändert was laut dem Konfigurationsteil geändert werden sollte.
          Zusätzlich habe ich im html-Teil
          PHP-Code:
          Empfänger: <?php echo $strEmpfaenger; echo "Variabel:"; echo $an?>
          eingefühgt.

          wegen der register_globals sollte ich mal meinen ISP fragen.

          Kommentar


          • #6
            Ich hab auch nix von $_get[] geschrieben, sondern von $_GET[].
            Du musst schon auf die richtige Schreibweise achten.

            Zeig mal das Form.

            Wozu willst Du denn Deinen ISP fragen?
            Schau Dir besser mal Deine phpinfo() an. Dort steht, was eingestellt ist.
            Und wenn register_globals auf off steht, sollte es auch so bleiben.

            Und was wird bei dem eingefügten Code-Teil ausgegeben?
            **********************************
            Nein, ich bin nicht die Signatur.
            Ich putze hier nur.
            **********************************

            Kommentar


            • #7
              $an funktioniert genauso wie $_GET['an']
              Bei beiden funktionen wird mir die E-Mailadresse aus der URL angezeigt.
              Und wenn ich das vorher richtig verstanden habe dürfte das einfache übernehmen aus der URL mit $an nicht funktionieren, wenn register_globals() ausgeschaltet ist.
              Da beides funktioniert, gehe ich davon aus, das reister_globals() eingeschaltet ist.

              Abfrage phpinfo
              Directive Local Value Master Value
              register_globals On Off

              Kommentar


              • #8
                Das hast Du richtig verstanden.

                Die Ausgabe von phpinfo() sieht danach aus als hättest Du das extra für Deine Seiten eingeschaltet.

                Du kannst in das Hauptverzeichnis Deiner Website eine Datei .htaccess legen, die den folgenden Inhalt hat:
                php_flag register_globals Off

                Damit ist das für alles darunterliegenden Verzeichnisse ausgeschaltet.
                **********************************
                Nein, ich bin nicht die Signatur.
                Ich putze hier nur.
                **********************************

                Kommentar


                • #9
                  Vielleicht hat das Formular method="post", dann ist es nicht $_GET['an'] sondern $_POST['an']

                  Sollte die Ausgabe von $an funktionieren, aber die Zuweisung $strEmpfaenger = $an nicht, dann wäre das php sehr seltsam und sehr kaputt. Glaube ich aber nicht.
                  Du machst sicher an irgendeiner Stelle, die Du uns nicht zeigst, was falsch.

                  Wozu überhaupt die Zuweisung $strEmpfaenger = $an? Ist eine Variable mit dem Inhalt nicht gut genug?

                  PHP-Code:
                  <?php
                  if (isset($_POST['an'])) {
                      
                  mailX($_POST['an'], $_POST['thema'], $_POST['nachricht']);
                  }
                  else {
                      echo 
                  '<form method="post">
                          <table>
                              <td>an:</td><td><input type="text" name="an" /></td></tr>
                              <tr><td>Thema:</td><td><input type="text" name="thema" /></td></tr>
                              <tr><td>Nachricht:</td><td><textarea name="nachricht"></textarea></td></tr>
                              <tr><td><input type="submit" /></td></tr>
                          </table>
                      </form>'
                  ;
                  }

                  function 
                  mailX($to$subject$message$additional_headers=false$additional_parameters=false )
                  {
                      echo 
                  '<div style="border:qpx solid #000000">',
                          
                  'to: '$to"
                  \n"
                  ,
                          
                  'subject: '$subject"
                  \n"
                  ,
                          
                  $additional_headers,
                          
                  $additional_parameters"
                  \n"
                  ,
                          
                  'message: '$subject"
                  \n"
                  ,
                          
                  '</div>';
                      return 
                  true;
                  }
                  ?>

                  Kommentar


                  • #10
                    Im Ursprungsposting war von Parametern in der URL die Rede. Ein Formular wurde da gar nicht erwähnt.

                    Außerdem kommt bei $_GET['an'] ja inzwischen das gleiche raus wie bei $an.

                    $_POST scheidet also wohl aus.
                    **********************************
                    Nein, ich bin nicht die Signatur.
                    Ich putze hier nur.
                    **********************************

                    Kommentar


                    • #11
                      Trotzdem, das die Variabel über $an bzw. $_GET['an'] aus der URL übernommen werden, werden keine E-Mail's versand. Wenn ich $strEmpfaenger="abs@def.de" angebe wird die Mail versand, wenn ich die Variabel übergebe, oder direkt in die mail() anweisung schreibe, passiert garnichts.

                      Hier das Script:
                      Es mag grausamm geschrieben sein, aber ich lerne ja noch. Man möge mir verzeihen.
                      PHP-Code:
                      <?php

                      ### Konfiguration ###

                      # Bitte passen Sie die folgenden Werte an, bevor Sie das Script benutzen!

                      # An welche Adresse sollen die Mails gesendet werden?
                      $strEmpfaenger "vorstand@wasg-luebeck.de";

                      # Welche Adresse soll als Absender angegeben werden?
                      # (Manche Hoster lassen diese Angabe vor dem Versenden der Mail ueberschreiben)
                      $strFrom       '"Kontaktformular WASG KV L&uuml;beck"info@wasg-luebeck.de';

                      # Welchen Betreff sollen die Mails erhalten?
                      $strSubject    'Sie haben eine Nachricht';

                      # Zu welcher Seite soll als "Danke-Seite" weitergeleitet werden?
                      # Wichtig: Sie muessen hier eine gueltige HTTP-Adresse angeben!
                      $strReturnhtml 'http://www.wasg-luebeck.de/index.php';

                      # Welche(s) Zeichen soll(en) zwischen dem Feldnamen und dem angegebenen Wert stehen?
                      $strDelimiter  ":\t\t";

                      ### Ende Konfiguration ###


                      if($_POST)
                      {
                       
                      $strMailtext "";

                       while(list(
                      $strName,$value) = each($_POST))
                       {
                        if(
                      is_array($value))
                        {
                         foreach(
                      $value as $value_array)
                         {
                          
                      $strMailtext .= $strName.$strDelimiter.$value_array."\n";
                         }
                        }
                        else
                        {
                         
                      $strMailtext .= $strName.$strDelimiter.$value."\n";
                        }
                       }

                       if(
                      get_magic_quotes_gpc())
                       {
                        
                      $strMailtext stripslashes($strMailtext);
                       }

                       
                      mail($_GET['an'], $strSubject$strMailtext"From: ".$strFrom)
                        or die(
                      "Die Mail konnte nicht versendet werden.");
                       
                      header("Location: $strReturnhtml");
                       exit;
                      }

                      ?>
                      <!doctype html public "-//W3C//DTD HTML 4.0 //EN">
                      <html>
                      <head>
                              <meta name="author" content="Christian Schumacher">
                              <meta name="organization" content="Die Wahlalternative - Arbeit &amp; soziale Gerechtigkeit">
                              <meta name="keywords" content="WASG Arbeit sozial Gerechtigkeit Wahlalternative, Kreisverband L&uuml;beck, sozial, gerecht, arbeit, partei, politisch, montagsdemo">
                              <title>Die Wahlalternative - Arbeit &amp; soziale Gerechtigkeit</title>
                              <link rel="stylesheet" type="text/css" href="../../css/style.css">


                      </head>
                      <body bgcolor="#ffffcc">

                          <div align="right">
                              <span class="Nav_Banner" >[url="impressum.php"]Impressum [/url]| [url="../../cms/index.php"]Intern[/url]</span>

                          </div>
                          <div align="center">
                              [img]../../bilder/banner.jpg[/img]
                          </div>
                          




                      <?php
                      require "sql.inc.php";
                      ?>
                                  <table border=0 align="center">
                                  <tr>

                                      <td rowspan="2" height="500" width="200" id="nav">
                                          <div align=left>
                                              <span class="button_e1">Zum Anfang</span>

                                              <span class="button_e2">[url="index.php"]Startseite</span>[/url]
                                              

                      <span class="button_e1">Der Kreisverband</span>
                                              
                      <span class="button_e2">[url="vorstand.php"]unser Vorstand</span>[/url]
                                              
                      <span class="button_e2">[url="kontakt.php?an=vorstand@wasg-luebeck.de"]Kontakt[/url]</span>
                                              

                      <span class="button_e1">Die Ortsverb&auml;nde</span>
                                              
                      <span class="button_e2">[url="ov_luebeck.php"]OV L&uuml;beck</span>[/url]
                                              

                      <span class="button_e1">Der Landesverband</span>
                                              
                      <span class="button_e2">[url="http://sh.w-asg.de"]LV - Schle&szlig;wig Holstein</span>[/url]</p>
                                              

                      <span class="button_e1">Mitglied werden</span>
                                              
                      <span class="button_e2">[url="antrag.php"]Mitgliedsantrag</span>[/url]
                                              

                      <span class="button_e1">Rechtliches</span>
                                              
                      <span class="button_e2">[url="satzung.php"]Satzung</span>[/url]
                                              
                      <span class="button_e2">[url="impressum.php"]Impressum</span>[/url]
                                              </div>
                                      </td>

                                      <td rowspan="2" height="500" width="600" id="main">
                                          <div >
                                          


                                          <span class="main1"><h1 align="right">Kontakt Seite</h1></span>
                                          <hr width="600" color="#600">
                                          <span class="main2">Es werden zur Zeit leider keine Nachrichten übermittelt. Wir arbeiten an disem Problem mit hochdruck.</span>
                                          


                                          <table align="center" width="600" class="adresse">
                                              <tr>
                                                  <td class="main2"><center>[b]Arbeit & soziale Gerechtigkeit 
                       Die Wahlalternative[/b]</center></td>
                                              </tr>
                                              <tr>
                                                  <td class="main1"><center>Kreisverband L&uuml;beck
                      c/o K. Krei&szlig;
                      R&ouml;ntgenstr.30
                      23562 L&uuml;beck

                      Telefon 04506/188850 - Fax 04506/188869 - Mobil 0160 2197783</center></td>
                                                  
                                              </tr>
                                          </table>


                              Empfänger: <?php echo $_GET['an']; echo "Variabel:"; echo $an?>
                              <form action="<?php print $_SERVER['PHP_SELF']; ?>" method="post">
                                  
                                  
                                  <dl align="center" class="main1">
                                      <dt>Name:</dt>
                                      <dd><input type="text" name="Versender" /></dd>
                                      <dt>Straße / Hausnummer:</dt>
                                      <dd><input type="text" name="Straße" /></dd>
                                      <dt>PLZ / Ort:</dt>
                                      <dd><input type="text" name="Ort" /></dd>
                                      <dt>Telefon:</dt>
                                      <dd><input type="text" name="Telefon" /></dd>
                                      <dt>Fax:</dt>
                                      <dd><input type="text" name="Fax" /></dd>
                                      <dt>E-Mail:</dt>
                                      <dd><input type="text" name="E-Mail" /></dd>
                                      <dt>http://</dt>
                                      <dd><input type="text" name="URL" /></dd>
                                      <dt>Ihre Nachricht:</dt>
                                      <dd><textarea name="Nachricht" rows="10" cols="40"></textarea></dd>
                                  </dl>
                                  
                                  
                                  


                                  <input type="submit" value="Senden" />
                                  <input type="reset" value="Zurücksetzen" />
                                  </p>
                                  <?php
                      echo '<pre>';
                      print_r($_GET);
                      echo 
                      '</pre>';
                      ?>
                              </form>
                                      
                                           </div>
                                      </td>

                                      <td height="150" width="200" id="kalender">
                                          <div align="left">
                                              <span class="button_e1">Aktuellen Termine.</span>
                                              

                                              <span class="main1">
                                              <?php
                                                  
                      require ("kalendar.php");
                                              
                      ?>
                                              </span>
                                          </div>

                                      </td>
                                  </tr>
                                  <tr>

                                      <td height="500" width="200">
                                          <div align="left">
                                              <span class="button_e1">Aktuellen News.</span>
                                              

                                              <span class="main1">
                                              <?php
                                                  
                      require ("news.php");
                                              
                      ?>
                                              </span>
                                          </div>
                                      </td>
                                  </tr>
                      </body>
                      </html>

                      ?>
                      http://www.wasg-luebeck.de

                      Kommentar

                      Lädt...
                      X