Intereting Posts
Замена указанных двойных кавычек в тексте с помощью preg_replace Можно ли использовать stdClass как массив? Приращения Письма, подобные цифрам постоянные данные в php-вопросе PMA 4.5.2.0 file_exists (): ограничение open_basedir PHPUnit – Unit Testing с элементами, которые должны отправлять заголовки записывает значение в «пустой тег» на PHP PHP: cURL и отслеживать все перенаправления Компиляция swf из php с использованием mxmlc и "exec" – загрузка файла конфигурации, но без swf в браузере получить массив всех атрибутов продуктов в magento Как я могу без проблем запускать NSArray из NSDictionaries внутри NSDictionary? Изменение размера изображения в PHP в пределах определенной области Загрузите защищенные файлы htaccess с помощью PHP и CURL Форма контакта 7: использовать крючок, созданный с использованием wpcf7_before_send_mail только для одной формы контакта по идентификатору Загрузите XML-файл gzipped с помощью simplexml_load_file ()

поместить текст типа ввода в массив

У меня есть text inputs . inputs создаются из цикла while. Теперь я хочу поместить values в массив. Как это:

 array values mark['0'] input1 mark['1'] input2 mark['2'] input3 

Я пробовал это, но не работал.

 while($row=mysql_fetch_array($result)){ <form class="form1" name="form1" method="post"> <input type="text" name="mark[]"/> </form> } <form class="form1" name="form1" method="post"> <button type="submit" name="correction"></submit> </form> в while($row=mysql_fetch_array($result)){ <form class="form1" name="form1" method="post"> <input type="text" name="mark[]"/> </form> } <form class="form1" name="form1" method="post"> <button type="submit" name="correction"></submit> </form> 

А потом

 if(isset($_POST['correction'])){ $grade=0; $mark=$_POST['mark']; foreach($mark as $key =>$value ){ $grade+=$value; } print $grade; } 

Я получаю эти ошибки:

 Notice: Undefined index: mark in C:\xampp\htdocs\virtual_exam\handy_correction.php on line 37 Warning: Invalid argument supplied for foreach() in C:\xampp\htdocs\virtual_exam\handy_correction.php on line 38 

Проблема может быть вызвана двумя формами, которые arent связаны друг с другом и если ДА, как с ними соединяться? Если НЕТ, как делать то, что я хочу?

Измените форму:

 <form class="form1" name="form1" method="post"> <?php while ($row = mysql_fetch_array($result)) { echo '<input type="text" name="mark[]" />'; } ?> <input type="submit" name="correction" value="Submit" /> </form> 

А потом:

 if (isset($_POST['correction'])) { $grade = 0; $mark = $_POST['mark']; foreach ($mark as $key => $value) { $grade += $value; } echo $grade; } 

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

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

Вы должны сгенерировать свою форму следующим образом:

 <form class="form1" name="form1" method="post"> <?php while($row=mysql_fetch_array($result)){ ?> <input type="text" name="mark[]"/> <?php } ?> <button type="submit" name="correction"></submit> </form> в <form class="form1" name="form1" method="post"> <?php while($row=mysql_fetch_array($result)){ ?> <input type="text" name="mark[]"/> <?php } ?> <button type="submit" name="correction"></submit> </form> 

То, что вы говорите в последнем абзаце, правильно, вы отправляете форму1, которая содержит только кнопку отправки, поэтому в скрипте PHP, который обрабатывает POST, не существует mark .

поэтому измените HTML на:

 <form class="form1" name="form1" method="post"> <?php while($row=mysql_fetch_array($result)){ ?> <input type="text" name="mark[]"/> <?php } ?> <button type="submit" name="correction"></submit> </form> в <form class="form1" name="form1" method="post"> <?php while($row=mysql_fetch_array($result)){ ?> <input type="text" name="mark[]"/> <?php } ?> <button type="submit" name="correction"></submit> </form>