1

如何将 html 表单放入 PHP while 循环?

它认为是这样的,但它不起作用:

<?php

$i=1;
while ($i<=5){

<form name="X" action="thispage.php" method="POST">
     <input type="text">
     <input type="submit">
</form>;

$i=$i+1;

              }

?>
4

7 回答 7

5

你可以,你只是不能像这样在 PHP 中间有原始 HTML。在 HTML 之前结束 PHP 语句,然后像这样重新打开它:

 <?php

$i=1;
while ($i<=5){
?>

<form name="X" action="thispage.php" method="POST">
     <input type="text" name="trekking">
 <input type="submit">
</form>

<?php 
   $i=$i+1;
     }

?>
于 2012-12-14T16:32:48.397 回答
4
<?php

$i=1;
while ($i<=5):?>

<form name="X" action="thispage.php" method="POST">
         <input type="text" name="trekking">
     <input type="submit">
</form>

<?php $i=$i+1;

   endwhile;

?>

用于endwhile对 php 和 html 进行很好的可读分离。如果不需要,不要回显代码块。

于 2012-12-14T16:32:41.500 回答
2

您可以使用echo

<?php

$i=1;
while ($i<=5){

    echo '
        <form name="X" action="thispage.php" method="POST">
             <input type="text" name="trekking">
             <input type="submit">
        </form>;
    ';

    $i=$i+1;
}
?>

或者,打开和关闭 PHP 标签:

<?php

$i=1;
while ($i<=5){

//closing PHP
?>

        <form name="X" action="thispage.php" method="POST">
             <input type="text" name="trekking">
             <input type="submit">
        </form>;

<?php 
//opening PHP 

    $i=$i+1;
}
?>
于 2012-12-14T16:32:21.890 回答
0

如果您的目标是尝试输出 5 个具有相同名称的表单(我一开始不建议这样做),您可以试试这个:

$i=1;
$strOutput = "";
while ($i<=5){

 $strOutput .= '<form name="X" action="thispage.php" method="POST">';
     $strOutput .= '<input type="text" name="trekking">';
     $strOutput .= '<input type="submit">';
 $strOutput .= '</form>';

   $i=$i+
}

echo $strOutput;

永远不要像在问题中那样在 PHP 代码中使用 HTML。

于 2012-12-14T16:36:12.207 回答
0

您可以通过在 HTML 之前关闭 PHP 块来做到这一点,然后在其余代码之前?>重新打开。<?php

不过就个人而言,我更喜欢echo在 PHP 中使用 HTML。它使您的代码更具可读性。另外,我建议使用for循环而不是你那里的循环。

<?php
for ($i=1; $i<=5; $i++) {
    echo '<form name="x" action="thispage.php" method="POST">',
         '<input type="text" name="trekking">',
         '<input type="submit"',
         '</form>';
}
?>
于 2012-12-14T16:32:15.227 回答
0

你应该先学习PHP。您试图实现的目标是非常简单的基本 PHP。

但是要回答您的问题,请"[form-html goes here]";在 while 循环内回显。确保逃脱所有其他".

于 2012-12-14T16:33:41.670 回答
0
<?php

$i=1;
echo"<form name="X" action="thispage.php" method="POST">";
while ($i<=5)
{
    echo"<input type="text">";
    echo"<input type="submit">";
    $i++;
}
echo"</form>";

?>
于 2012-12-14T19:03:55.177 回答