Выбор флажков - PullRequest
       5

Выбор флажков

0 голосов
/ 21 февраля 2012

Я не знаю, как сделать следующее, и мне нужна помощь.У меня есть файл php, который открывается и отображает некоторые детали в массиве из файла .txt, с флажками, которые будут установлены.После того, как пользователь установит эти флажки и щелкнет, мне нужен еще один php-файл, который идентифицирует выбранные флажки и отображает данные.

РЕДАКТИРОВАТЬ: вы забываете детали, флажки будут связаны смассив, поэтому, когда пользователь вводит поисковый запрос, появляется только соответствующая информация вместе с флажком.Это означает, что все флажки имеют одинаковый идентификатор и одинаковы.Как мне это исправить?

Ответы [ 3 ]

2 голосов
/ 21 февраля 2012

Флажок:

<input type="checkbox" name="checkbox-name" value="1"/>

Если этот флажок установлен и эта форма отправлена, то на целевой странице установлен флажок:

$_POST['checkbox-name']=1;

Если флажок не был определен, то значение POST не устанавливается, например:

if(!isset($_POST['checkbox-name'])){ echo 'not selected'; }

EDIT:

Если нужны массивы, тогда имена всех флажков одного и того же массива должны быть такими:

<input type="checkbox" name="my-checkboxes[]" value="first"/>

Тогда это можно перебрать в PHP:

foreach($_POST['my-checkboxes'] as $values){
    echo $values;
}

То же относится и к другим элементам формы HTML, которые можно отправлять в виде массива.

1 голос
/ 21 февраля 2012

Предполагая, что ваша начальная страница имеет это:

<form action="results.php" method="POST">

<input type="checkbox" name="checkbox1" value="1" />
<input type="checkbox" name="checkbox2" value="2" />
<input type="checkbox" name="checkbox3" value="3" />
<input type="submit" value="Submit" />

</form>

Ваш results.php должен выглядеть примерно так:

<?php

echo isset($_POST['checkbox1']) ? "Box 1 is selected.<br />" : "Box 1 is not selected.<br />";
echo isset($_POST['checkbox2']) ? "Box 2 is selected.<br />" : "Box 2 is not selected.<br />";
echo isset($_POST['checkbox3']) ? "Box 3 is selected." : "Box 3 is not selected.";

?>

РЕДАКТИРОВАТЬ : Вы также можете прикрепить ихв переменные, как это:

$cb1 = isset($_POST['checkbox1']) ? true : false;
$cb2 = isset($_POST['checkbox2']) ? true : false;
$cb3 = isset($_POST['checkbox3']) ? true : false;

И сделать несколько if утверждений:

if (!$cb1 && $cb2 && $cb3) {
    echo "Option 1 is pretty much essential, or your gerbil 
    could escape within the first few hours of ownership.";
} else if ($cb1 && $cb2 && !$cb3) {
    echo "If you don't get him a water bottle, he may turn vicious.";
} else if (!$cb1 && !$cb2 && !$cb3) {
    echo "Right, that's it, we're calling the RSPCA!";
}

И так далее ...

0 голосов
/ 21 февраля 2012

Полагаю, эти флажки представлены в формате HTML. Если это так, вы можете использовать jQuery:

$("input:checkbox[name=type]:checked").each(function()
{
 // do your stuff here
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...