mail() Problem in kontaktformular

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • 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")

    Comment


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

      Comment


      • #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.

        Comment


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

          Comment


          • #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.

            Comment


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

              Comment


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

                Comment


                • #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

                  Comment


                  • #10
                    hint: $hiddenVorname...

                    Comment


                    • #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;

                      //.......

                      Comment

                      Working...
                      X