Перед циклом while инициализируйте переменную:
$cnt = 0;
Затем внутри цикла while вы можете поместить это:
$classID = $cnt++%3;
, чтобы увеличить счетчик, а затем модуль на 3. Вы можете настроить это для любого количества столбцов. Используя 3 в качестве модуля, вы получите число от 0 до 2. Затем используйте classID здесь:
<div class="case-info-triple<?php echo '-'.$classID; ?>">
Или вы можете пропустить переменную $cnt
и сделать приращение одновременно с эхом classID, вот так:
$classID = 0;
while($classID <= 5) { ?>
<div class="case-info-triple<?php echo '-'.$classID++%3; ?>">text</div>
<?php }
Да. Без сомнения. Никогда не доверяйте вводу данных пользователем.
Для улучшения пользовательского опыта поля ввода могут (и по моему скромному мнению должен) быть проверенным на клиенте. Это может предвосхитить распространение в прямом и обратном направлениях к серверу, который только приводит к той же форме и сообщению об ошибке.
Однако вход должен всегда проверяться на стороне сервера, так как пользователь может просто изменить входные данные вручную в ПОЛУЧИТЬ URL или отправить, обработал данные POST.
В худшем варианте развития событий можно закончить с Внедрением SQL, или еще хуже, уязвимость XSS.
Большинство платформ уже имеет некоторый встроенный способ убрать вход, но даже без этого обычно очень легко убрать вход с помощью комбинации регулярных исключений и справочных таблиц.
Как с любым вводом данных пользователем чрезвычайно важно проверить, чтобы удостовериться, что это - то, что Вы ожидаете, что это. Так да!
Да, да, и трижды да.
Много веб-платформ сделают это для Вас, конечно, например, Struts 2.
Да, проверьте их так полностью, как Вы можете. В PHP я всегда проверяю типы (IsInt(i), IsString(p)
).
Одна важная причина состоит в том, чтобы проверить на внедрение SQL. Таким образом да, всегда санируйте ввод данных пользователем.
Я хочу подчеркнуть, насколько важный это. Я знаю, что первый ответ обсудил Внедрение SQL и Уязвимости XSS. Последний рейв во Внедрении SQL передает закодированный SQL-оператор двоичного файла в строках запроса, которые, если это находит дыру Внедрения SQL, это добавит http://reallybadsite.com'/> к каждому текстовому полю в Вашей базе данных.
Как веб-разработчики мы должны проверить весь вход и убрать весь вывод.
Помните, что хакер не собирается использовать IE для взлома сайта, таким образом, Вы не можете полагаться ни на какую проверку в сети.
не, что другие говорят. Вообразите querystring переменную названной nc, который виден, чтобы иметь значения 10, 50 и 100, когда пользователь выбирает 10, 50 и 100 результатов на страницу соответственно. Теперь вообразите кого-то изменяющего это на 50 000. Если Вы просто проверяете, чтобы быть целым числом, показ 50 000 результатов на страницу, влияя просмотры страниц, загрузки сервера, времена сценария и так далее. Плюс это могла быть Ваша вся база данных. Когда у Вас есть такие правила (10, 50 или 100 результатов на страницу), необходимо дополнительно проверить, чтобы видеть, равняется ли значение номера 10, 50 или 100 только, и в противном случае установило его на значение по умолчанию. Это может просто быть минутой (nc, 100), таким образом, она будет работать, если nc будет изменен на 25, 75 и так далее, но примет значение по умолчанию к 100, если она видит что-нибудь выше 100.