Задать вопрос
frozzetron
@frozzetron
Ya horosho znay English yazik)

PHP форма не отправляет чекбоксы, как исправить?

В общем, есть форма которая отправляется на почту:
<form action="php/checkbox-form.php" method="post">
	<div class="container_col">
		<p><font size="" color="" face="">Наведите на название услуги для появления подсказки</font></p><br>
												 
			<h2>Дополнительные услуги</h2>
				<div class="cell">
						<label>
							<b><span class="label">Массфоловинг:</span></b>
							<div class="servl1"><input class="checkbox" type="checkbox" name="formDoor[]" value="1" />
							<span class="checkbox-custom"></span></div>
						</label><br><br>

						<label>
							<b><span class="label">Масслайкинг:</span></b>
							<div class="servl2"><input class="checkbox" type="checkbox" name="formDoor[]" value="2" />
							<span class="checkbox-custom"></span></div>
						</label><br><br>	
						
						<b><p align="center" face="ARIAL BLACK">Лайки:</p></b>
						<label>
							<span class="label">30 000 - 2500 рублей</span>
							<div class="servl3"><input class="checkbox" type="checkbox" name="formDoor[]" value="3" />
							<span class="checkbox-custom"></span></div>
						</label><br>
		 
						<label>
							<span class="label">60 000 - 3000 рублей</span>
							<div class="servl4"><input class="checkbox" type="checkbox" name="formDoor[]" value="4" />
							<span class="checkbox-custom"></span></div>
						</label><br>
					 
						<label>
								<span class="label">90 000 - 3500 рублей</span>
								<div class="servl5"><input class="checkbox" type="checkbox" name="formDoor[]" value="5" />
								<span class="checkbox-custom"></span></div>
						</label><br><br>
						
						<label>
							<b><span class="label">Настройка таргетированной рекламы:</span></b>
							<div class="servl6"><input class="checkbox" type="checkbox" name="formDoor[]" value="6" />
							<span class="checkbox-custom"></span></div>
							</label><br><br>
							
						<b><p align="center" face="ARIAL BLACK">Копирайт:</p></b>
						<label>
							<span class="label">30 постов</span>
							<div class="servl7"><input class="checkbox" type="checkbox" name="formDoor[]" value="7" />
							<span class="checkbox-custom"></span></div>
						</label><br>
						
						<label>
							<span class="label">60 постов</span>
							<div class="servl8"><input class="checkbox" type="checkbox" name="formDoor[]" value="8" />
							<span class="checkbox-custom"></span></div>
						</label><br><br>
					
						<b><p align="center" face="ARIAL BLACK">Вывод в топ по геолокации и хештегам:</p></b>
						<label
							<span class="label">30 постов</span>
							<div class="servl9"><input class="checkbox" type="checkbox" name="formDoor[]" value="9" />
							<span class="checkbox-custom"></span></div>
					</label><br>
					
					<label>
						<span class="label">60 постов</span>
						<div class="servl10"><input class="checkbox" type="checkbox" name="formDoor[]" value="10" />
						<span class="checkbox-custom"></span></div>
					</label><br><br>

					<b><p align="center" face="ARIAL BLACK">Оформление сторис:</p></b>
					<label>
						<span class="label">60 постов</span>
						<div class="servl11"><input class="checkbox" type="checkbox" name="formDoor[]" value="11" />
						<span class="checkbox-custom"></span></div>
					</label><br>
				</div>
				
			<input type="submit" name="formSubmit" id="send-analysis-form" class="button accent-button" value="Отправить"  />
													
	</div>
</form>


CSS
.checkbox {
	display: none;
}
.checkbox-custom {
	position: relative;    
	width: 20px;            
	height: 20px;         
	border: 1px solid #333;
	border-radius: 30px;
	margin-left: 50px;
}
.checkbox-custom,
.label {
	display: inline-block;
	vertical-align: middle;
	 margin-top: 2%;
}
.checkbox:checked + .checkbox-custom::before {
	content: "";            
	display: block;			
	position: absolute;      
	top: -2px;
	right: -2px;
	bottom: -2px;
	left: -2px;
	background: #1E90FF;  
	border-radius: 30px;
}
.servl1 {
margin-left: 192%;
margin-top: -15%;
}
.servl2 {
margin-left: 210%;
margin-top: -15%;
}
.servl3 {
margin-left: 145%;
margin-top: -15%;
}
.servl4 {
margin-left: 144%;
margin-top: -15%;
}
.servl5 {
margin-left: 145%;
margin-top: -15%;
}
.servl6 {
margin-left: 108%;
margin-top: -8%;
}
.servl7 {
margin-left: 270%;
margin-top: -28%;
}
.servl8 {
margin-left: 270%;
margin-top: -28%;
}
.servl9 {
margin-left: 270%;
margin-top: -28%;
}
.servl10 {
margin-left: 270%;
margin-top: -28%;
}
.servl11 {
margin-left: 270%;
margin-top: -28%;
}

Есть PHP код:
<?php
echo '<!doctype html>';
echo '<html>';
echo '<head>';
echo '<meta charset="utf-8">';
echo '<title>Книги</title>';
echo '</head>';
echo '<body>';
if(isset($_POST['submit'])) {
    if(empty($_POST['choice'])) {
        echo("<p>Вы ничего не выбрали.</p>");
    } else {
        echo "<p>Вы выбрали следующие книги:</p>";
        for($i=0; $i < count($_POST['choice']); $i++) {
            echo $_POST['choice'][$i]."<br/>";
        }
        if(isset($_POST['things'])) {
            if(empty($_POST['things'])) {
                echo '<hr>';
                echo '<p>Готово</p>';
                echo '<p style="font-size: 17px;"><a href="index.html" style="text-decoration: underline;" title="Вернуться на главную">Вернуться на главную</a></p>';
            } else {
                echo "<hr><p>Вы ввели:</p>";
                echo $_POST['things'];
                echo '<hr>';
                echo '<p>Готово</p>';
                echo '<p style="font-size: 17px;"><a href="index.html" style="text-decoration: underline;" title="Вернуться на главную">Вернуться на главную</a></p>';
            }
        }                   
    }
}
echo '</body>';
echo '</html>';

$chosen = is_array($_POST['choice']) ? $_POST['choice'] : array();
    $chosen = implode (', ', $chosen ); 
$whatChoose = $_POST['choice'];
$whatWrite = $_POST['things'];
$toEmail = "grembot59@gmail.com";
$subject = "Выбор сделан";
$check = "";
if(!empty($_POST["choice"]) && is_array($_POST["choice"])) {
    $check = implode(" ", $_POST['choice']);
}
$messageOK = "Выбор: ".$whatChoose.$check."<br>Текст: ".$whatWrite;
mail ($toEmail, $subject, $messageOK);
?>


Но на почту приходит следующее из PHP:
"Выбор:
Текст:" (Предпоследняя строка кода)
Как сделать так, что бы выбранные чекбоксы приходили на почту и не тронутые не приходили? Очень нужна помощь.

P.S. PHP не пой конек, я пытался что-то сделать, но нужна помощь знающего человека.
  • Вопрос задан
  • 370 просмотров
Подписаться 1 Простой 2 комментария
Помогут разобраться в теме Все курсы
  • Skillbox
    Веб-разработчик на PHP
    9 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 3
Stimulate
@Stimulate
могу
Не увидел в вашем PHP вывода formDoor
Ответ написан
Комментировать
dhs
@dhs
Web-разработчик
Может я ошибаюсь, но данный php код никогда не получит содержимое данной формы, ведь в php есть проверка на ppost переменную "submit", а в форме нет поля с таким именем. Быть может, вы смотрите не в тот php файл? Ещё посмотрите ответ Stimulate.
Ответ написан
Комментировать
@yashenkov
Как уже писал Vasiliy Novosad php файл не от этой формы
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
FoodSoul Калининград
от 180 000 до 250 000 ₽
IT-Spirit Москва
от 230 000 до 320 000 ₽
IT ATLAS Москва
от 250 000 до 500 000 ₽