Intereting Posts
PHP MySQL INSERT терпит неудачу из-за уникального ограничения Как я могу запретить пользователям доступ к частям моего приложения Backbone, если они не вошли в систему? Как сортировать многомерный массив в PHP Как заменить все прописные буквы тире и строчными буквами регулярным выражением? Как обновить файл на Google Диске v3 PHP Получить образ базового продукта в Magento Как отправить или присвоить значение переменной JQuery переменной php? PHP – самый легкий psr-0 совместимый автозагрузчик Как ограничить размер файла загрузки файлов в PHP? Ошибка при попытке открыть страницу в public_html Использовать PHP для создания задания cron file_get_contents ("php: // input"), показывающий null, когда var_dump PHP array_multisort не сортирует мой многомерный массив, как ожидалось Graph возвратил ошибку: Invalid appsecret_proof, предоставленный в аргументе API facebook graph api – разместить увеличенное изображение

Как получить доступ к значению метки в php?

Я пытаюсь создать математический вопрос, заданный для веб-сайта, где пользователю будет дано уравнение, и они должны написать ответ в форме.

Мой HTML-код выглядит так:

<p> Please write the sum of these two numbers </p> <label for="num1">Number1: <?php echo rand(2,200)?> <label for="num2">Number2: <?php echo rand(2,200)?> <input name="sum" type="text" /> 

Я хочу, чтобы проверить, введен ли правильная сумма двух значений, которые были сгенерированы. Это просто общая точка. В конечном итоге это приведет к появлению большего числа переменных и разных математических операторов

Как сделать следующее со скриптом на стороне сервера PHP:

a) Значение, которое имеет метка от функции echo rand (), и b) как мне получить код для хранения их в качестве переменных и вывода на экран?

PS: Я должен делать это на стороне php, и я знаю, что это может быть сделано с Javascript / JQuery.

Спасибо заранее за вашу помощь.

Варуна

Javascript в стороне, вы не можете получить доступ к чему-либо, относящемуся к <label> , самый простой способ (помимо использования данных сеанса) – использовать <input> .

Вы захотите объявить значение один раз , так что вы не получите другое значение, отображаемое пользователю, чем то, что хранится во входе. Быстрый пример:

 <?php $num1 = rand(2,200); $num2 = rand(2,200); ?> <p> Please write the sum of these two numbers </p> <label for="num1"> Number1: <?php echo $num1; ?> <input name="num1" type="hidden" value="<?php echo $num1; ?>" /> </label> <label for="num2"> Number2: <?php echo $num2; ?> <input name="num2" type="hidden" value="<?php echo $num2; ?>" /> </label> <input name="sum" type="text" /> 

Поверните места, в которых вы просто повторяете число, в текстовые входы только для чтения, тогда значения будут отправляться обратно при отправке формы (я предполагаю, что это часть более крупной формы, поскольку вы не используете js).

 <p> Please write the sum of these two numbers </p> <label for="num1">Number1:</label> <input id="num1" name="num1" type="text" value="<?php echo rand(2,200)?>" readonly="readonly" /> <label for="num2">Number2:</label> <input id="num2" name="num2" type="text" value="<?php echo rand(2,200)?>" readonly="readonly" /> <input name="sum" type="text" /> 

Вы можете использовать CSS для стилизации этих входов, чтобы они выглядели скорее как встроенный текст.

Вы не можете получить содержимое ярлыков только с помощью PHP, вы можете отправить его через JS на php-скрипт или сохранить эти числа в скрытых полях, но это будет означать, что человек может легко изменить значения скрытых полей. То, как я предлагаю вам сделать это, – сохранить случайные числа в пользовательском сеансе, чтобы вы могли полностью контролировать его после отправки ответа или обновления страницы.

Используйте переменные для хранения случайных значений и скрытых полей, чтобы отправить их в форме.

 <form action="results.php" method="get"> <p> Please write the sum of these two numbers </p> <? $var1 = rand(2,200); $var2 = rand(2,200); ?> <input type="hidden" name="operand1" value="<?= $var1 ?>" /> <input type="hidden" name="operand2" value="<?= $var2 ?>" /> <label for="num1">Number1: <?=$var1?> </label> <label for="num2">Number2: <?=$var2?> </label> <input name="sum" type="text" /> <input type="submit" value="submit" /> </form> 

Да, я использую короткие теги. Если вы этого не сделаете, просто замените

Вы не можете. Вам нужно будет поместить случайные значения в скрытые поля:

 <p> Please write the sum of these two numbers </p> <?php $Value1 = rand(2, 200); $Value2 = rand(2, 200); ?> Number1: <?php echo $Value1; ?> Number2: <?php echo $Value2; ?> <input type="hidden" name="Value1" value="<?php echo $Value1; ?>" /> <input type="hidden" name="Value2" value="<?php echo $Value2; ?>" /> <input name="sum" type="text" /> 

Кроме того, я не думаю, что вы хотите использовать элементы ярлыков здесь. метки не совпадают в HTML, как то, что вы найдете в пользовательских интерфейсах: в HTML они должны быть прикреплены к элементу управления.