2014-12-20 1 views
2

여러 선택 옵션이있는 문의 양식이 있습니다. 그러나 연락처 양식을 제출 한 후 전자 메일에는 단 하나의 값만 표시됩니다. 이 작품을 얻기위한 해결책을 찾고 싶습니다. HTML 여기서 시작 - ->여러 선택 옵션에서 모든 선택된 값을 얻는 방법?

<select multiple="multiple" name='problems' id='problems' class="inpBox multiple" size='8' > 
     <option value="Cannot Copy">Cannot Copy</option> 
     <option value="Cannot Print">Cannot Print</option> 
     <option value="Cannot Print">Cannot Scan</option> 
     <option value="Cannot Fax">Cannot Fax</option> 
     <option value="Lines Appear When Printing/Copying">Lines Appear When Printing/Copying</option> 
     <option value="Scan to Email Failed">Scan to Email Failed</option> 
     <option value="Toner Low/Empty">Toner Low/Empty</option> 
     <option value="Others">Others</option> 
</select> 

/이 * 코드 */

이것은 끝

/*이 내 코드가/

$title = $_POST['title']; 
$contactperson = $_POST['contactperson']; 
$phonenumber = $_POST['phonenumber']; 
$emailaddress = $_POST['emailaddress']; 
$companyname = $_POST['companyname']; 
$brand = $_POST['brand']; 
$machinemodel = $_POST['machinemodel']; 
$serialnumber = $_POST['serialnumber']; 
$problems = $_POST['problems']; <--- this is multiple selection values 
$inquiry = $_POST['inquiry']; 
$security = $_POST['security']; 
$from = "YT Copier"; 
$to = "[email protected]"; 
$subject = "Admin, someone submitted service request form."; 
$message = "Admin, someone has submitted service request form. Details are as follow: \n\nName: $title $contactperson\n\nPhone Number: $phonenumber\n\nEmail Address: $emailaddress\n\nCompany Name: $companyname\n\nMachine Brand:\n$brand\n\nMachine Model: $machinemodel\n\nSerial Number: $serialnumber\n\nProblem Facing: $problems\n\nMessage: $inquiry"; 

if ($security=="13") { 
    mail($to, $subject, $message, $from); 
    header("Location:/supports/submit-service-request/?s=s"); 
} 

else { 
    header("Location:/supports/submit-service-request/?s=e"); 
} 

<이 * 시작 폼을 처리하기 위해 "process.php"파일 이름의 PHP 코드. "$ problems"값은 다중 선택 옵션입니다. 양식을 채울 때 몇 가지 옵션을 선택하려고했지만 결국에는 이메일에 단 하나의 값만 표시됩니다. 누군가 도울 수 있습니까? 작동하도록하기 위해 어떤 코드를 추가해야합니까? 누군가가 도울 수 있다면 정말 감사드립니다. 감사!

답변

3

를 사용하여 이름 problems[] 대신 problems

//Simple Form and getting the values 

<form name="s" method="post" action="" > 
<select multiple="multiple" name='problems[]' id='problems' class="inpBox multiple" size='50' style="height:150px;" > 
     <option value="Cannot Copy">Cannot Copy</option> 
     <option value="Cannot Print">Cannot Print</option> 
     <option value="Cannot Print">Cannot Scan</option> 
     <option value="Cannot Fax">Cannot Fax</option> 
     <option value="Lines Appear When Printing/Copying">Lines Appear When Printing/Copying</option> 
     <option value="Scan to Email Failed">Scan to Email Failed</option> 
     <option value="Toner Low/Empty">Toner Low/Empty</option> 
     <option value="Others">Others</option> 
</select> 
<input type="submit" name="submit" value="submit" /> 
</form> 


<?php 
if (isset($_POST['submit'])) { 
    $problems = implode(',', $_POST['problems']); 
    echo $problems; 
} 
?> 
+0

안녕 등! 빠른 응답을 주셔서 감사합니다! 나는 노력했다. 그것은 작동하지 않습니다. 값은 아무런 값없이 되돌아오고 "배열"은 이름을 "problems []"로 사용한 후에 만 ​​나타납니다. 다시 한 번 감사드립니다! – Jornes

+0

내 업데이트 된 코드를보고 @Jornes를 시도하십시오 –

+0

안녕하세요 Faizphp, 업데이트 된 코드를 보내 주셔서 감사합니다. 그러나 그것은 여전히 ​​효과가 없을 것입니다. 내 PHP 파일에 PHP 코드를 배치하는 방법을 보여줄 수 있습니까? 시도했지만 양식을 제출할 때 오류가 발생합니다. 이 메시지는 경고입니다 : 12 행의 /home/ytcopier/public_html/process_service_request.php에서 foreach()에 잘못된 인수가 제공되었습니다. 경고 : 헤더 정보를 수정할 수 없습니다 - 이미 보낸 헤더 (/ home/ytcopier/public_html/process_service_request.php : 12) /home/ytcopier/public_html/process_service_request.php에서 24 행. 조언을주십시오! 고맙습니다! – Jornes