Это скорее вопрос техники, а не код. У меня есть php-форма со многими полями (элементы для выбора). Естественно, некоторые элементы могут быть выбраны, а некоторые нет. Как узнать, какие из них выбраны, когда я отправляю данные со страницы 1 на страницу 2? Я думал о тестировании каждого из них, если он пуст или нет, но слишком много полей, и это не совсем эффективно использовать или кодировать. Спасибо,PHP, избегающий длительного POST
UPDATE EDIT: Я попробовал следующее и, возможно, он получит меня где-то прежде, чем я продолжаю испытывать repliers решения ...
<html>
<body>
<form name="test" id="name" action="testprocess.php" method="POST">
<input type="text" name="choices[shirt]">
<input type="text" name="choices[pants]">
<input type="text" name="choices[tie]">
<input type="text" name="choices[socks]">
<input type="submit" value="submit data" />
</form>
</body>
</html>
, а затем вторую страницу:
<?php
$names = $_POST['choices'];
echo "Names are: <br>";
print_r($names);
?>
Это выдает следующее:
Имена: Array ([ши к.т.] => sdjalskdjlk [брюки] => lkjlkjlk [связь] => JLK [носки] => lkjlkjl)
Теперь то, что я собираюсь попытаться сделать это итерация по массиву, и так как значения в моем случае это числа, я просто проверю, какое из полей> 0, если значение по умолчанию равно 0. Надеюсь, это сработает ... если нет, то я дам вам знать :)
вы имеете в виду избежать многих 'Исеть ($ _ POST [ 'и т.д.']))'? – Michelle
цикл через массив. если вы создаете форму с помощью массива, упрощается проверка того, что размещено. –
yes @JackSpairow Я хочу избежать этого для каждого опубликованного товара. Если я использую массив, поэтому мне нужно будет прочитать каждый элемент в нем и выполнить строку сравнения, чтобы я мог решить, что там есть, и называть их ценную базу данных froom. Снова не кажется эффективным из-за strcmp. Просто выражаю свою мысль здесь. –