mail() Problem in kontaktformular

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

  • mail() Problem in kontaktformular

    ein teil meines kontakt formulares sieht folgerndermaßen aus:

    PHP-Code:
    <?php
    if(isset($send))
    {    
        
    //Eingaben überprüfen
        
    echo "Hier können sie noch einmal ihre Eingaben überprüfen:<br>";
        echo 
    "<br><b>Name:</b> $name";
        echo 
    "<br><b>Vorname:</b> $vorname";
        echo 
    "<br><b>E-Mail:</b> $email: <br>";
        
        if(isset(
    $info)) {
            
    $ja "JA, Ich möchte Informationsmaterial erhalten!";
            echo 
    "<b>$ja</b>";
            }
        else {
            
    $nein "NEIN, Ich möchte kein Informationsmaterial erhalten!";
            echo 
    "<b>$nein</b>";
            }
            
        echo 
    "<p><b>Nachricht:</b> <br>".nl2br($nachricht)."<p>";
        
        echo 
    "<p>";
    ?>    
    <form name="form2" method="post" action="index2.php?section=Form">
      <input name="send2" type="submit" id="send2" value="Abschicken">
    </form>
    <?php
    }
    else
    {
    $to "meine e-mail addy";
    $subject "TecSolution Kontaktforumal";
    $message "
        <html>
        <body>
            <br><b>Name:</b> 
    $name
            <br><b>Vorname:</b> 
    $vorname
            <br><b>E-Mail:</b> 
    $email <br>
            "
    ;
            if(isset(
    $ja))
            {
                
    $message .= $ja;
            }
            else
            {
                
    $message .= $nein;
            }
            
    $message .= "
            <p><b>Nachricht:</b> <br>"
    .nl2br($nachricht)."<p>
        </body>
        </html>
    "
    ;

    //Um eine HTML-Mail zu senden, können Sie den den "Content-type"-Header setzen
    $headers  "MIME-Version: 1.0\r\n";
    $headers .= "Content-type: text/html; charset=iso-8859-1\r\n";

    mail($to$subject$message$headers);

    echo 
    "Das Formular wurde an uns geschickt.<br> Wir werden ihnen in Kürze antworten.";
    }
    ?>


    Die email wird mir zwar geschick, jedoch mit folgernder ausgabe:


    Name:
    Vorname:
    E-Mail:

    Nachricht:

    <>

  • #2
    Wird der Wert von $name, $vorname usw denn bei der Überprüfung der Eingaben angezeigt? ... die Variablen scheinen ganz einfach leer anzukommen.

    (BTW: Typo: "... hier können Sie ... " und "Wir werden Ihnen in Kürze antworten")

    Kommentar


    • #3
      register globals?
      Die Zeit hat ihre Kinder längst gefressen

      Kommentar


      • #4
        also register globals sind ON

        und bei der überprügufung wird alles ganz normal angezeigt. wenn man dann den button Abschicken drückt, wird das formular abgeschickt, welches auch bei meiner email ankommt, jedoch ohne die werte eben.

        Kommentar


        • #5
          und? debugge doch weiter - oder meinst du, die forumbesucher können es auf entfernung? lass dir $message vorm aufruf von mail() ausgeben, etc.

          Kommentar


          • #6
            also nach dem ich den button gedrückt hab wird ja die seite erneut aufgerufen und ab da sind die variablen nicht mehr vorhanden!

            wie kann ich sie jedoch übergeben, weil als anhang an die domain sieht ja nicht gerde toll aus, und ich kan ja schlecht einen ganzen text anhängen.

            Kommentar


            • #7
              die variablen müssten in die versteckten felder einer form, die du mit dem button abschickst, damit sie nochmal übernommen werden.

              Kommentar


              • #8
                Noch elegante wäre es aber in einer Session, da kann man nichts verändern (der User )

                Kommentar


                • #9
                  also jetzt hab ichs umgeändert, die variablen stehen aber immer noch nicht zur verfügung, hab ich irgendwo nen denkfehler?

                  hab hiddenFelder dazugemaht:
                  PHP-Code:
                  <form name="form2" method="post" action="index2.php?section=Form">
                    <input name="send2" type="submit" id="send2" value="Abschicken">
                    <input type="hidden" name="hiddenName" value="<?php $Name?>">
                    <input type="hidden" name="hiddenVorname" value="<?php echo $Vorname?>">
                    <input type="hidden" name="hiddenEmail" value="<?php echo "$email"?>">
                    <input type="hidden" name="hiddenNachricht" value="<?php $nachricht?>">
                    <input type="hidden" name="hiddenInfo" value="<?php $info?>">
                    <input name="hiddenField" type="hidden" value="abc">
                  </form>
                  und diese dann

                  unten aufgerufen, wird aber nichts angezeigt

                  Kommentar


                  • #10
                    hint: $hiddenVorname...

                    Kommentar


                    • #11
                      also ich habe es jetzt mit sessions gelöst, so funktionierts auch:

                      PHP-Code:
                      <?php
                      session_start
                      ();
                      if(isset(
                      $send))
                      {    
                          
                          
                      $_SESSION["name"] = $name;
                          
                      $_SESSION["vorname"] = $vorname;
                          
                      $_SESSION["email"] = $email;
                          
                      $_SESSION["nachricht"] = $nachricht;
                          
                      $_SESSION["info"] = $info;

                      //.......

                      Kommentar

                      Lädt...
                      X