Ankündigung

Einklappen
Keine Ankündigung bisher.

mail bei neuerer php-version >>> REGISTER GLOBALS

Einklappen

Neue Werbung 2019

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

  • mail bei neuerer php-version >>> REGISTER GLOBALS

    hallo,

    habe das problem, das php auf meinem server geupdated wurde. jetzt läuft der e-mail-versand vom kontaktformular nicht mehr – sprich, eine e-mail wird zwar verschickt, aber der inhalt der textfelder wird nicht mitgegeben. Kann mir jemand sagen, was ich ändern muss?
    alte php-version: 3.0.18
    neue php version: 4.3.5

    und hier mein script:

    Code:
    <?
    $senderName = $vorname." ".$nachname;
    $toMail = "k.heitkamp@jnb.de";
    $subject = "Nachricht von der JNB Website";
    $header = "From: \"$senderName\" <$email>";
    $message = $senderName." sendet Ihnen folgende Nachricht:\n\r-----------------------------------------------\n\r";
    $message = $message.$messagetext;
    mail($toMail, $subject, $message, $header) or die ("Ihre Nachricht konnte nicht gesandt werden!");
    ?>
    danke für eure hilfe!

    ki


  • #2
    Höchstwarscheinlich ist Register Globales jetzt auf OFF!

    Das musst du anpassen!

    Wie?
    So:
    Jede Variabel so abrufen:
    Code:
    $_POST["varname"];
    wilko

    Kommentar


    • #3
      du wirst deine Variabeln in
      Code:
      $HTTP_POST_VARS['varialbe']
      ändern müßen.

      das liegt am "register global".

      der ist jetzt wahrscheinlich auf off gestellt.

      greets JEGO :wink:
      Gruß JEGO

      Ein PHP Script tut, was Du schreibst, nicht was Du willst.

      Kommentar


      • #4
        Ups Wilko war schneller.

        greets JEGO
        Gruß JEGO

        Ein PHP Script tut, was Du schreibst, nicht was Du willst.

        Kommentar


        • #5
          hmm,

          register globals ist tatsächlich off, aber das tut's trotzdem nicht. hier der veränderte code:

          Code:
          <?
          		$HTTP_POST_VARS["$senderName"];
          		$HTTP_POST_VARS["$vorname"];
          		$HTTP_POST_VARS["$nachname"];
          		$HTTP_POST_VARS["$toMail"];
          		$HTTP_POST_VARS["$subject"];
          		$HTTP_POST_VARS["$header"];
          		$HTTP_POST_VARS["$message"];
          		$HTTP_POST_VARS["$messagetext"];
          $senderName = $vorname." ".$nachname;
          $toMail = "k.heitkamp@jnb.de";
          $subject = "Nachricht von der JNB Website";
          $header = "From: \"$senderName\" <$email>";
          $message = $senderName." sendet Ihnen folgende Nachricht:\n\r-----------------------------------------------\n\r";
          $message = $message.$messagetext;
          mail($toMail, $subject, $message, $header) or die ("Ihre Nachricht konnte nicht gesandt werden!");
          ?>
          hab‚ auch mit $_POST["$variable"]; versucht.

          in beiden varianten auch nochmal ohne das $-Zeichen ...

          mach ich was falsch, oder liegt's an was anderem?

          gruß

          ki

          Kommentar


          • #6
            Also, du müsstest die Variabeln dann auch bennen!

            Also, entweder:

            Code:
            $senderName = $HTTP_POST_VARS["senderName"];
            und so weiter oder ddu tascht alle normalen Variabeln aus, Beispiel:

            Code:
            $header = "From: \"$_POST["senderName"]\" <$_POST["email"]>";
            wilko

            Kommentar


            • #7
              Code:
              <?php
                    $senderName = $_POST["senderName"];
                    $vorname = $_POST["vorname"];
                    $nachname = $_POST["nachname"];
                    $toMail = $_POST["toMail"];
                    $subject = $_POST["subject"];
                    $header = $_POST["header"];
                    $message = $_POST["message"];
                    $messagetext = $_POST["messagetext"]; 
              
              $senderName = $vorname." ".$nachname;
              $toMail = "k.heitkamp@jnb.de";
              $subject = "Nachricht von der JNB Website";
              $header = "From: \"$senderName\" <$email>";
              $message = $senderName." sendet Ihnen folgende Nachricht:\n\r-----------------------------------------------\n\r";
              $message = $message.$messagetext;
              mail($toMail, $subject, $message, $header) or die ("Ihre Nachricht konnte nicht gesandt werden!");
              ?>
              so sollte es dann kenie probleme mehr geben.

              //edit: mist zu langsam

              Kommentar


              • #8
                okay, Danke!

                und

                $senderName = $_GET["senderName"];

                bzw. COOKIE, wenn ich mit GET versende oder die vars von nem cookie kommen - stimmts.

                habs grad bei php.net gefunden

                ich versuchs dann mal und melde mich, wenn's klappt.

                Kommentar


                • #9
                  oder auch $_SESSION[...] wenn du die werte einer session-variable haben willst

                  Kommentar


                  • #10
                    Ich würde das so machen.

                    Code:
                    <? 
                          $senderName = $HTTP_POST_VARS["senderName"]; 
                          $vorname = $HTTP_POST_VARS["vorname"]; 
                          $nachname = $HTTP_POST_VARS["nachname"]; 
                          $toMail = $HTTP_POST_VARS["toMail"]; 
                          $subject = $HTTP_POST_VARS["subject"]; 
                          $header = $HTTP_POST_VARS["header"]; 
                          $message = $HTTP_POST_VARS["message"]; 
                          $messagetext = $HTTP_POST_VARS["messagetext"]; 
                    $senderName = $vorname." ".$nachname; 
                    $toMail = "k.heitkamp@jnb.de"; 
                    $subject = "Nachricht von der JNB Website"; 
                    $header = "From: \"$senderName\" <$email>"; 
                    $message = $senderName." sendet Ihnen folgende Nachricht:\n\r-----------------------------------------------\n\r"; 
                    $message = $message.$messagetext; 
                    mail($toMail, $subject, $message, $header) or die ("Ihre Nachricht konnte nicht gesandt werden!"); 
                    ?>
                    nicht ausprobiert

                    greets JEGO :wink:
                    Gruß JEGO

                    Ein PHP Script tut, was Du schreibst, nicht was Du willst.

                    Kommentar


                    • #11
                      Ich bin immer zuspät

                      sind immer alle schneller als ich naja was solls

                      greets JEGO
                      Gruß JEGO

                      Ein PHP Script tut, was Du schreibst, nicht was Du willst.

                      Kommentar


                      • #12
                        schäm dich und geh in die ecke

                        Kommentar


                        • #13
                          du kannst wenn du willst auch register globals ersetzen
                          1. durch meine neuerlernte funktion extract() :wink: thx@meikel
                          Code:
                          extract ($_POST);
                          so wird $_POST['var'] automatisch zu $var
                          2. durch eine foreach schleife
                          Code:
                          foreach($_POST as $key=>$value){
                          $$key=$value;
                          }

                          Kommentar


                          • #14
                            okay, jetzt läuft's

                            danke an euch drei!

                            Kommentar

                            Lädt...
                            X