【问题标题】:generate selected number of text fields in php在php中生成选定数量的文本字段
【发布时间】:2017-07-23 20:13:56
【问题描述】:

现在我正在为我的大学迷你项目做网络项目。我正在建立一个测验管理网站。用户登录我的网站我需要提供给用户以方便创建测验。用户可以选择有多少问题包括他的测验。但是今天我有一个问题。这个怎么做?

我在下面创建示例代码。提供给用户的第一个表单,用户可以选择测验中的问题数量。

<html>
<head>
</head>
<body>
 <form action='questions.php'>
   <select name="dob-day" id="dob-day">
      <option value="">-----</option>
      <option value="1">1</option>
      <option value="2">2</option>
      <option value="3">3</option>
      <option value="4">4</option>
      <option value="5">5</option>
   </select>
   <input type=submit value='Submit'>
</form>
</body
</html>

然后在我的网站应该为问题生成选定数量的文本字段之后。

例如:如果用户为此测验选择了 2 个问题,

然后我的网站提供 2 个文本字段用于输入具有多个答案的问题。 (这不是 PHP 代码。这只是向您描述我的问题的示例代码。)

<html>
<head>
</head>
<body>
<!--start: Wrapper-->
	<div id="wrapper">		
		<!--start: Container -->
    	<div class="container">
      		<!-- start: Row -->
      		<div class="row">
			<h3>Enter the question for quiz.</h3>
			<br>
			<div class="input">
			<table>
			<tr>
				<td>Q1)</td>
				<td><textarea tabindex="3" id="message" class="input-xxlarge" name="body" rows="2"></textarea></td>
				
			</tr>
			<tr>
				<td>A)</td>
				<td><textarea tabindex="3" id="message" class="input-xxlarge" name="body" rows="1"></textarea></td>
				<td>B)</td>
				<td><textarea tabindex="3" id="message" class="input-xxlarge" name="body" rows="1"></textarea></td>
			</tr>
			<tr>
				<td>C)</td>
				<td><textarea tabindex="3" id="message" class="input-xxlarge" name="body" rows="1"></textarea></td>
				<td>D)</td>
				<td><textarea tabindex="3" id="message" class="input-xxlarge" name="body" rows="1"></textarea></td>
			</tr>
			<tr><td colspan="5"><hr width="1150px"><br><br></td></tr>
			</table>
			<table>
			<tr>
				<td>Q2)</td>
				<td><textarea tabindex="3" id="message" class="input-xxlarge" name="body" rows="2"></textarea></td>
				
			</tr>
			<tr>
				<td>A)</td>
				<td><textarea tabindex="3" id="message" class="input-xxlarge" name="body" rows="1"></textarea></td>
				<td>B)</td>
				<td><textarea tabindex="3" id="message" class="input-xxlarge" name="body" rows="1"></textarea></td>
			</tr>
			<tr>
				<td>C)</td>
				<td><textarea tabindex="3" id="message" class="input-xxlarge" name="body" rows="1"></textarea></td>
				<td>D)</td>
				<td><textarea tabindex="3" id="message" class="input-xxlarge" name="body" rows="1"></textarea></td>
			</tr>
			<tr><td colspan="5"><hr width="1150px"><br><br></td></tr>
			</table>
            </div>
      		</div>
			<!-- end: Row -->      	
		</div>
		<!--end: Container-->				
	</div>
	<!-- end: Wrapper  -->	
    </body
</html

我认为,我的任务是使用 PHP 语言。我可以使用 PHP 来解决这个问题吗?

我能做什么? 请任何人都可以帮助我解决这个问题。

感谢所有观众。

【问题讨论】:

  • 您好,您可以发布您的信息以便我们为您提供帮助吗?
  • 在帖子中包含您对所做工作的研究。
  • 我可以用php来解决这个问题吗?
  • 是的,如果你想用php渲染页面你可以。
  • 我在下面发布了一些内容,但如果您需要更多帮助,您需要在“输入问题”的表单中包含您想要用来呈现您的问题的示例 html测验”

标签: php html textfield


【解决方案1】:

是的 php 可以做这种工作。就我个人而言,我只在“需要”的基础上启用 javascript。

以下内容不完整,但应该可以帮助您入门。请记住,您必须有一些东西来执行 php.ini 文件。 PHP 不会在浏览器中呈现。我在我的 Windows 开发机器上使用 wamp。

首页

<form action='questions.php'>
   <select name="numberOfQuestions" id="dob-day">
      <option value="">-----</option>
      <option value="5">5</option>
      <option value="10">10</option>
      <option value="20">20</option>
      <option value="25">25</option>
      <option value="40">40</option>
   </select>
   <input type=submit value='Submit'>
</form>

questions.php:

<?php
   for($x=1;$x<=$_GET['numberOfQuestions'];$x++){
?>
        <table>
        <tr>
            <td>Q<?=$x?>)</td>
            <td><textarea tabindex="3" id="message" class="input-xxlarge" name="question<?=$x?>" rows="2"></textarea></td>

        </tr>
        <tr>
            <td>A)</td>
            <td><textarea tabindex="3" id="message" class="input-xxlarge" name="answer<?=$x?>A" rows="1"></textarea></td>
            <td>B)</td>
            <td><textarea tabindex="3" id="message" class="input-xxlarge" name="answer<?=$x?>B" rows="1"></textarea></td>
        </tr>
        <tr>
            <td>C)</td>
            <td><textarea tabindex="3" id="message" class="input-xxlarge" name="answer<?=$x?>C" rows="1"></textarea></td>
            <td>D)</td>
            <td><textarea tabindex="3" id="message" class="input-xxlarge" name="answer<?=$x?>D" rows="1"></textarea></td>
        </tr>
        <tr><td colspan="5"><hr width="1150px"><br><br></td></tr>
        </table>
<?php
   }
?>

请注意,您需要为用户创建的问题采用不同的命名约定,而不是将它们全部命名为“body”,这会使您在捕获由用户创建的问题和答案时无法区分输入用户。

【讨论】:

  • 如果您偶尔在这里被否决,请不要担心。这不是什么可以冒犯的,通常甚至不值得评论。如果有人希望在否决投票的同时向您提供反馈,他们早就这样做了,如果您坚持要反馈,那么否决者早就离开了。无论如何,您的反对票似乎已经消失了。
  • 好吧,你的反对票肯定不是我的,而且肯定会在任何一天都超过“评论”。所以,我会投票,这对我来说看起来不错。
  • @AuntJamaima 唯一的事情是你可能因为任何给定的原因得到了反对票。一个可能是回答一个广泛/不清楚的问题,或者您使用的 GET 数组与表单元素的 name 属性不匹配。这应该被编辑/修复。
  • @Aunt Jamaima 我检查了你的答案,但我遇到了错误。
  • 感谢 Fred 和 Halfer。我认为你是对的,最好不要回答一个可笑的模糊问题。
猜你喜欢
  • 2011-12-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多