使用 PHP DOM 获取提交的值
get submitted values with PHP DOM
我想获取属于测试答案的值。
可能有任何问题。
一个问题有 HTML:
<form method='post' action='calificar.php'>
<div class='pruebaAlumno'>
<h5>Pregunta 3</h5>
<h3>¿Que factores definen la capacidad de una persona?</h3>
<input type='checkbox' name='respuestaAlumno[]'
value='Voluntad'> Voluntad <br>
<input type='checkbox' name='respuestaAlumno[]'
value='Cultura'> Cultura <br>
<input type='checkbox' name='respuestaAlumno[]'
value='Hábitos'> Hábitos <br>
<input type='checkbox' name='respuestaAlumno[]'
value='Habilidad'> Habilidad <br>
<input type='checkbox' name='respuestaAlumno[]'
value='Perfil'> Perfil <br>
<input type='checkbox' name='respuestaAlumno[]'
value='Dones'> Dones <br>
<input type='hidden' name='idPregunta' value='41'>
<input type='hidden' name='tipo' value='C'>
</fieldset>
</div> <div class='calificar'>
<input type='submit' name='calificar' value='enviar' >
</div>
</form>
我想得到
- 回答(respuestaAlumno)
- 问题 ID (idPregunta)
- 类型(类型)
来自每个问题。
那我想把数据存到一个数组里
一个测试可以有多少问题,只要老师想要。表单有一个提交按钮。
我尝试过以不同的方式获取数据。使用 JS DOM。使用 POST。
我找到了一些 PHP DOM 教程,但它们都教如何修改静态 HTML.
请帮助我从每个字段集中获取提交的数据。
提前致谢。
您可以像这样格式化您的表单名称。
第一题
name="respuestaAlumno[0][]"
name="respuestaAlumno[0][]"
...
name="idPregunta[0]"
name="tipo[0]"
第二个问题
name="respuestaAlumno[1][]"
name="respuestaAlumno[1][]"
...
name="idPregunta[1]"
name="tipo[1]"
您最终会在 $_POST
中得到三个数组。
试试这个
<?php
if(isset($_POST['calificar'])
{
$respuestaAlumno=$_POST['respuestaAlumno'];
//you need respuestaAlumno array to single string
echo $data_to_string=implode(",",$respuestaAlumno);
$count_of_respuestaAlumno=count($_POST['respuestaAlumno']);
for($i=0;$i<=$count_of_respuestaAlumno-1;$i++)
{
echo $data=$respuestaAlumno[$i]."/n";
}
//question id
echo $idPregunta=$_POST['idPregunta'];
echo $tipo=$_POST['tipo'];
//do something
}
我想获取属于测试答案的值。 可能有任何问题。 一个问题有 HTML:
<form method='post' action='calificar.php'>
<div class='pruebaAlumno'>
<h5>Pregunta 3</h5>
<h3>¿Que factores definen la capacidad de una persona?</h3>
<input type='checkbox' name='respuestaAlumno[]'
value='Voluntad'> Voluntad <br>
<input type='checkbox' name='respuestaAlumno[]'
value='Cultura'> Cultura <br>
<input type='checkbox' name='respuestaAlumno[]'
value='Hábitos'> Hábitos <br>
<input type='checkbox' name='respuestaAlumno[]'
value='Habilidad'> Habilidad <br>
<input type='checkbox' name='respuestaAlumno[]'
value='Perfil'> Perfil <br>
<input type='checkbox' name='respuestaAlumno[]'
value='Dones'> Dones <br>
<input type='hidden' name='idPregunta' value='41'>
<input type='hidden' name='tipo' value='C'>
</fieldset>
</div> <div class='calificar'>
<input type='submit' name='calificar' value='enviar' >
</div>
</form>
我想得到
- 回答(respuestaAlumno)
- 问题 ID (idPregunta)
- 类型(类型)
来自每个问题。
那我想把数据存到一个数组里
一个测试可以有多少问题,只要老师想要。表单有一个提交按钮。
我尝试过以不同的方式获取数据。使用 JS DOM。使用 POST。
我找到了一些 PHP DOM 教程,但它们都教如何修改静态 HTML.
请帮助我从每个字段集中获取提交的数据。
提前致谢。
您可以像这样格式化您的表单名称。
第一题
name="respuestaAlumno[0][]"
name="respuestaAlumno[0][]"
...
name="idPregunta[0]"
name="tipo[0]"
第二个问题
name="respuestaAlumno[1][]"
name="respuestaAlumno[1][]"
...
name="idPregunta[1]"
name="tipo[1]"
您最终会在 $_POST
中得到三个数组。
试试这个
<?php
if(isset($_POST['calificar'])
{
$respuestaAlumno=$_POST['respuestaAlumno'];
//you need respuestaAlumno array to single string
echo $data_to_string=implode(",",$respuestaAlumno);
$count_of_respuestaAlumno=count($_POST['respuestaAlumno']);
for($i=0;$i<=$count_of_respuestaAlumno-1;$i++)
{
echo $data=$respuestaAlumno[$i]."/n";
}
//question id
echo $idPregunta=$_POST['idPregunta'];
echo $tipo=$_POST['tipo'];
//do something
}