Я хотел создать ошибку, когда выбрано определенное значение $ _POST ['MAG'], а тип ввода рядом с ним не указан.
Я пробовал использовать другие методы, такие как if, else, foreach, for, но все еще не могу получить правильную кодировку. Мне действительно нужна помощь.
Это мой первый раз, когда я пишу код, и я беру онлайн-уроки, поэтому немного сложно получить помощь от одноклассников или учителя.
<form method = "post" action = "">
Select which magazine and type qty of subscriptions:<br><br>
<input type = "checkbox" name = "MAG[]" value = "TREASURE"><b>Treasure Magazine</b> | Qty of Subscriptions: <input type = "number" name = "TNUMSUBS" size = "5px">
<br>
<input type = "checkbox" name = "MAG[]" value = "VESSEL"><b>Vessel Magazine</b> | Qty of Subscriptions: <input type = "number" name = "VNUMSUBS" size = "5px">
<br>
<input type = "checkbox" name = "MAG[]" value = "MECH"><b>MECH Magazine</b> | Qty of Subscriptions: <input type = "number" name = "MNUMSUBS" size = "5px">
<br><br>
<p><input type = "submit" name = "submit"></p>
</form>
<?php
if (isset($_POST["submit"]))
{
$vNumSubs = $_POST['VNUMSUBS'];
$tNumSubs = $_POST['TNUMSUBS'];
$mNumSubs = $_POST['MNUMSUBS'];
if (empty($_POST["MAG"]))
{
print "You didn't select a magazine";
foreach($_POST['MAG'] as $magazine)
{
if ($magazine == "TREASURE" && empty($tNumSubs))
{
print "type quantity";
}
if ($magazine == "VESSEL" && empty($vNumSubs))
{
print "type quantity";
}
if ($magazine == "MECH" && empty($mNumSubs))
{
print "type quantity";
}
}
}
}
Я пробовал использовать empty (), и мне трудно заставить его показать. пожалуйста помоги
$_POST['MAG'] получит все данные name = "MAG[]"





Ваш foreach находится в блоке, который выполняется, когда $_POST['MAG'] пуст, поэтому нечего перебирать (на самом деле вы получите ошибку, поскольку $_POST['MAG'] - это undefined, когда ни один из флажков не отмечен, и вы не можете использовать foreach в этом случае).
Он должен быть в блоке else.
if (empty($_POST["MAG"])) {
print "You didn't select a magazine";
} else {
foreach($_POST['MAG'] as $magazine)
{
if ($magazine == "TREASURE" && empty($tNumSubs))
{
print "type quantity";
}
if ($magazine == "VESSEL" && empty($vNumSubs))
{
print "type quantity";
}
if ($magazine == "MECH" && empty($mNumSubs))
{
print "type quantity";
}
}
}
Но, возможно, вам не стоит заморачиваться с флажками. Просто позвольте им указать количество каждого журнала и использовать 0, чтобы обозначить, что они не хотят этого журнала.
Большое спасибо. Это действительно очень помогло! Все еще новичок в этом, так что всегда приятно получать отзывы!
упростите себе жизнь, укажите ключи массива
MAGсамостоятельно