2012-12-13 2 views
-1

한 번 제출 한 전자 메일의 확인란에서 입력 정보를 표시하는 코드가 있습니다. 이것은 절대적으로 잘 작동하지만 사용자가 확인란을 선택하지 않으면 전자 메일 메시지에 '옵션을 선택하지 않았습니다'라는 메시지가 표시됩니다. 어떻게해야합니까? 아래는 관련 코드입니다.이 두 확인란 모두에 대해이 작업을 수행해야합니다. 나는 ELSE 성명서가 필요하다고 가정하고 있습니다.전자 메일의 확인란 정보 입력

코드 : $_POST['cb_name']가 비어 그래서 만약

if(!empty($_POST['features'])) { 
foreach($_POST['features'] as $value) { 
    $check_msg1 .= "Features checked: ".$value."\n";   
}} 

if(!empty($_POST['fright'])) { 
foreach($_POST['fright'] as $value) { 
    $check_msg2 .= "Fright checked: ".$value."\n";    
}} 
+0

코드에서'! empty' 함수를 처리 했습니까? –

답변

1

시도 :

어떤 옵션을 선택하지 않으면
if(isset($_POST['features'])) { 
foreach($_POST['features'] as $value) { 
    $check_msg1 .= "Features checked: ".$value."\n";   
}} 
else { 
    $check_msg1 .= "No options checked \n"; 
} 

if(isset($_POST['fright'])) { 
foreach($_POST['fright'] as $value) { 
    $check_msg2 .= "Fright checked: ".$value."\n";    
}} 
else { 
    $check_msg2 .= "No options checked \n"; 
} 

은 다음 POST는 체크 박스 값을 반환하지 않습니다. 따라서 POST 배열의 값이 설정되어 있는지 확인해야합니다. 'empty'를 체크하면 체크 박스가 체크되었지만 값이 비어 있어도 true를 반환합니다.

+0

check_msg1에 정의되지 않은 변수가 있습니다. 이걸 추가해야합니까? $ check_msg1 = $ _POST [ 'features']; $ check_msg2 = $ _POST [ 'fright']; – user1278496

+1

for 루프 내에서 두 변수를 사용하기 전에 두 변수를 모두 초기화해야합니다. 그렇지 않으면 루프 자체의 컨텍스트 내에 만 존재하므로 나중에 사용할 수 없습니다. 아직 다른 곳에서 초기화하지 않았다면, 위의 앞에 다음을 삽입해야합니다 : '$ check_msg1 = ""; ' '$ check_msg2 = ""; ' – Khior

+0

별표를 주셔서 감사합니다! – user1278496

1

체크 박스 값을 확인 아무것도보다 한 번 확인하지 제출되지 않습니다. 사용자가 아무 것도 확인되지 않은

if(!empty($_POST['features'])) { 
    foreach($_POST['features'] as $value) { 
     $check_msg1 .= "Features checked: ".$value."\n";   
    } 
} else { 
    $check_msg1 .= "No options checked\n" 
} 
1

경우에는 $ _POST가 없을 것 [ '기능'] 또는 $ _POST [ '공포 : 이것에 따르면, 당신은 ('공포 '에 대한 동일)과 같은 코드가 필요합니다 ']

당신은 isset을 할 필요가 있습니다. 는 isset

if (! isset($_POST['features'])) 
{ 
    $check_msg1 .= "No features selected.\n"; 
} 
else 
{ 
    foreach ($_POST['features'] as $value) 
    { 
     $check_msg1 .= "Features checked: " . $value . "\n"; 
    } 
} 

if (! isset($_POST['fright'])) 
{ 
    $check_msg2 .= "No fright selected.\n"; 
} 
else 
{ 
    foreach ($_POST['fright'] as $value) 
    { 
     $check_msg2 .= "Fright checked: " . $value . "\n"; 
    } 
} 
관련 문제