2014-04-20 2 views
0

다음 프로그램 PHP는 사용자에게 알고있는 언어를 선택하도록 요청하고 선택한 언어를 같은 페이지 자체에 표시합니다. 사용자가 언어를 선택하지 않은 경우 오류 메시지를 표시 할 수 있습니다. 하지만 선택한 체크 박스 항목 즉, 동일한 페이지 자체에 결과로 표시되는 lanaguages를 표시해야합니다. 예 : 알고있는 언어는 영어, 프랑스어입니다. 누군가가이 문제를 해결할 수 있습니까?체크 박스 폼 유효성 검사 및 PHP 양식 자체 제출

<?php 
$languages_error = $languages_result = $languages_list = ""; 
if($_SERVER['REQUEST_METHOD'] == 'POST') 
{ 
    if(empty($_POST["languages"])){ 
     $languages_error = "*Select the languages which you know"; 
    } 
    else 
    { 
     $languages_result = "Languages selected are";  
    }  
} 
?> 

<!DOCTYPE html> 
<html> 
<head> 

<title>Check Box Page</title> 
</head> 
<body> 
<div id="contact"> 
    <h1>What languages do you know?</h1><br> 
    <form action="checkbox.php" method="post"> 
    <fieldset>  
     <input type="checkbox" name="languages[]" id="languages" value="English"><label for = "gender">English</label></br> 
     <input type="checkbox" name="languages[]" id="languages" value="Spanish"><label for = "gender">Spanish</label></br> 
     <input type="checkbox" name="languages[]" id="languages" value="French"><label for = "gender">French</label></br> 
     <input type="checkbox" name="languages[]" id="languages" value="Germany"><label for = "gender">Germany</label></br> 
     <input type="checkbox" name="languages[]" id="languages" value="Chinese"><label for = "gender">Chinese</label></br>  
     <?php echo $languages_error, $languages_result ?></br>  
     <input type="submit" value="submit"> 
    </fieldset> 
    </form> 
</div> 
</body> 
</html> 
+0

을 'echo implode (',', $ _POST [ 'languages'])' –

+0

로얄 Bg 감사! – Latchu

답변

1

선택한 언어 (체크 박스)가 제출되어 PHP Array으로 제공됩니다. 같은

이러한 액세스하려면, 당신은 할 수 그들을 통해 루프, 에코 :

$languages_result = $_POST['languages']; 

foreach ($languages_result as $language) { 
    echo $language . '<br />'; 
} 

// Result is: 
// English 
// Telegu 
// Kanada 

또한 구분 사용하여 String에서, 배열 내에서 여러 요소를 결합 할 수 있습니다 :

$languages_result = implode(', ', $_POST['languages']); 

echo $languages_result; 

// Result is: 
// English, Telegu, Kanada 
+0

감사합니다 Jaimil Prajapati! 잘 작동합니다 :) – Latchu

+0

도와 줘서 기뻐요! :) –