【发布时间】:2018-05-30 17:58:41
【问题描述】:
我对 php 和 HTML 都很陌生,在过去的几天里我一直在努力解决它们。我正在尝试创建一个包含 56 个问题的单选按钮的问卷。
这是我现在的通用布局
<form action="index.php" name="My Form" method="POST">
<ol>
<li>
<p>Do you eat cheese?</p><br />
<input type="radio" name="Q1" value="0"/>Never<br />
<input type="radio" name="Q1" value="1"/>In the past<br />
<input type="radio" name="Q1" value="2"/>Sometimes<br />
<input type="radio" name="Q1" value="4"/>Often<br /><br />
</li>
<input type="submit" name="submit" value="Submit the questionnaire"></input>
</ol>
</form>
现在,我需要在每个问题上使用 4 个按钮,但我不希望只更改名称就不必写 56 次(计划是将名称更改为“Q1”、“Q2”等)。所以,我想知道是否有一种方法可以创建一个函数,让我不必经常重复它。
我试过这个的变种
<html>
<body>
<?php
function inputs($counter)
$questions = array("Q1","Q2");
echo '
<input type="radio" name=.$questions[$counter]; value="0"
/>Never
<br />
<input type="radio" name=.$questions[$counter]; value="1" />In
the past
<br />
<input type="radio" name=.$questions[$counter]; value="2"
/>Sometimes
<br />
<input type="radio" name=.$questions[$counter]; value="4"
/>Often
<br />
<br /> ';
?>
</body>
</html>
打算在列表项中像这样进行
<p>Do you eat cheese?<p><br />
<?php inputs(0);?>
(包含已包含函数的文件)
并且在某一时刻设法让它打印到页面上(所有正确但没有转移到 index.php 中进行计算)。我怀疑我应该让 inputs(0) 等于某个值,但我不知道。
所以我的问题是 ->
- 是否可以像这样将输入放入php函数中并让它们为表单输出一个值(以后可以用于index.php)
- 如果没有,有没有办法创建一个子表单表单函数,其中每个问题都是自己的表单,并将一个值输出到更大的表单中?
- 我应该硬着头皮写问题吗?
干杯
【问题讨论】:
-
您在函数中有一些错误引用/转义 - 因为您对字符串中的字符串属性值使用单引号,所以应该用双引号引用(一般来说)并且 PHP 变量需要转义单引号然后句号(即:
' . $var . ') -
您好,我明白了,您每次只想更改
name,从“Q1”变为“Q2”? -
分配给单选按钮的值是否关键 - 即:
0,1,2,4? -
@TheCodesee 是的,这是我唯一想改变的部分
-
@RamRaider 它们在 index.php 脚本中用于根据问题的答案计算分数。我也知道我发布的功能代码存在一些问题,所以谢谢,我会尝试修复它