2016-05-09 4 views
1

EDIT: Frage wurde beantwortet. Musste nur die Formular-Tags innerhalb des Formulars entfernen. Danke euch allen für den Kopf.Optionsfeldwerte, die nicht per E-Mail gesendet werden

Lassen Sie mich versuchen, dies so gut wie möglich zu erklären. Ich schreibe ein Formular, das mehrere Optionsfeldgruppen hat (ja, sie sind alle voneinander getrennt). Ich versuche, ihre Werte durchzugeben, damit sie per E-Mail gesendet werden können, aber wenn die E-Mail empfangen wird, werden diese Werte nicht angezeigt. Der erste Wert der Gruppe (form id = "gateMats") wird übergeben, aber der Rest der Gruppen wird nicht gesendet. Hier

ist der HTML-Code:

<form id="validGate" method="POST" enctype="multipart/form-data" onsubmit="return validating(this)" action="quotationForm.php"> 
      <table width="730" style="margin: auto";> 
      <tbody> 
       <tr> 
       <td align="right"><b>*</b>Gate Material: </td> 
       <td><form id="gateMats" action="" onclick="return validateGateMats()"> 
         <input name="material" type="radio" value="Aluminum" id="aluminum"> Aluminum &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</input> 
         <input name="material" type="radio" value="Stainless Steel" id="stainlessSteel"> Stainless Steel</input> 
        </form> 
       </td> 
       </tr> 
       <tr> 
       <td align="right">Hoist Requirements: </td> 
       <td><form id="gateHoistReq" action=""> 
         <input name="hoiReq" type="radio" value="Manual" id="manual" onclick="hoist(this)"> Manual &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</input> 
         <input name="hoiReq" type="radio" value="Electric" id="electric" onclick="hoist(this)"> Electric</input> 
        </form> 
       </td> 
       </tr> 
       <tr id="hoistType" style="display: none;"> 
       <td align="right">Hoist Type: </td> 
       <td><form id="gateHostTy" action=""> 
         <input type="radio" name="hoiTyp" id="handwheel" value="Handwheel"> Handwheel &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</input> 
         <input type="radio" name="hoiTyp" id="gearbox" value="90 Degree Gearbox"> 90&deg; Gearbox</input> 
        </form> 
       </td> 
       </tr> 
       <tr> 
       <td align="right"><p> 
        </p></td> 
       <td><p> 
        </p></td> 
       </tr> 
       <tr> 
       <td align="right">Stem Cover: </td> 
       <td><form id="gateStemCo" action=""> 
         <input type="radio" value="Clear Plastic" name="stCov" id="clearPlastic"> Clear Plastic &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</input> 
         <input type="radio" value="Metal" name="stCov" id="metal"> Metal</input> 
        </form> 
       </td> 
       </tr> 
       <tr> 
       <td align="right">Type of Stem: </td> 
       <td><form id="gateStemTy" action=""> 
         <input type="radio" value="Rising Stem" name="stType" id="RisingStem">Rising Stem &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</input> 
         <input type="radio" value="Non-Rising Stem" name="stType" id="nonRisingStem">Non-Rising Stem &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</input> 
         <input type="radio" value="Downard Opening(Weir)" name="stType" id="downwardOpening">Downward Opening (Weir)</input> 
        </form> 
       </td> 
       </tr> 
</tbody> 
     </table> 
     </form> 

Und hier ist der PHP-Code:

<?php 
    if ($_SERVER['REQUEST_METHOD']=="POST"){ 
//Variables. 
$user_gateMat = $_REQUEST['material']; 
$hoiReq = $_REQUEST['hoiReq']; 
$hoiTy = $_REQUEST['hoiTyp']; 
$stCov = $_REQUEST['stCov']; 
$stTy = $_REQUEST['stType']; 

//Body of the email to be sent. 
$body_mail = "Gate Details: 

Gate material type: $user_gateMat 

Hoist required: $hoiReq 
Hoist type: $hoiTy 
Stem cover: $stCov 
Stem type: $stTy 

//Everything okay? send the e-mail. 
mail("[email protected]",'Gate Style',"$body_mail","from:SynTum"); 
    echo "Your email was sent! Thank you."; 
} 
?> 

ich ein grundlegendes Verständnis von PHP habe und nach diesem Code für etwa 2-3 Stunden am Stück gesehen zu haben Es ist schwer zu sagen, was das Problem ist.

+4

'

' innerhalb einer '' ist ein ungültiges Markup. –

+0

ah, ich werde das behoben –

+0

Sie können kein 'Form' Element in einem anderen' Form' Element haben. Ich schlage vor, Sie bearbeiten Ihren Code und entfernen irrelevante Codes –

Antwort

1

Einige Ideen:

(1) Wie mulder weist darauf hin, man kann nicht <form> s innerhalb einer für divs

(2) Tauschen Sie die inneren Formen <form> hat.

(3) In quotationForm.php, anstatt direkt auf E-Mail zu gehen, zuerst die empfangenen Daten auf dem Bildschirm drucken (d. H. Eine Seite erstellen, wo die empfangenen Daten in DIVs oder Eingabeelementen oder was auch immer angezeigt werden).

(4) Sie haben vergessen, die Variable $body zu schließen.