0

私を助けてくれてありがとう。別の質問があります。以前の質問で、フォーム送信後にページの上部にテキスト ボックス メッセージを表示する方法を尋ねました。皆さんのおかげでここまでできました。次の質問は、これを少なくとも 8 回発生させる方法です。

 <?php

 include('header1.php');

 if(isset($_POST['submit']) && $_POST['submit']=='Submit'){
 message=$_POST['message'];
$name=$_POST["name"];
echo "<center>";
echo "<div>" . $name . "<br />" . $message ."</div>"; 
echo "</center>";


    if(isset($_POST['submit']) && isset($_POST['prevmsg']) &&      isset($_POST['prevname'])){

    echo "<center>";
    echo $_POST['prevname'];
    echo "<br/>";
    echo $_POST['prevmsg'];
    echo "</center>";   
 }

 ?>

<html>
<head>
</head>
<body style="position:center">
<form method="POST" action="<?=$_SERVER["PHP_SELF"]?>">

        <table>
                    <tr>
                        <th>
                            <label for="name">Name</label>
                        </th>
                        <td>
                            <input type="text" name="name" id="name">
                        </td>
                    </tr>

    <input type="hidden" name="prevname" value="<?=$name?>"/>

                    <tr>
                        <th>
                            <label for="message">Message</label>
                        </th>
                        <td>
                            <textarea name="message" id="message"></textarea>
                        </td>
                    </tr>    
    <input type="hidden" name="prevmsg" value="<?=$message?>"/>

        </table>
<input type="submit" name="submit" value="Submit"/>

 </form>
  </body>
 </html>

  <?php

   } else {  

   ?>

  <html>

  <head>  

  </head>

  <body>
  <form method="POST" action="<?=$_SERVER["PHP_SELF"]?>">

        <table>
                    <tr>
                        <th>
                            <label for="name">Name</label>
                        </th>
                        <td>
                            <input type="text" name="name" id="name">
                        </td>
                    </tr>


                    <tr>
                        <th>
                            <label for="message">Message</label>
                        </th>
                        <td>
                            <textarea name="message" id="message"></textarea>
                     </td>
                    </tr>
        </table>
                     <input type="submit" name="submit" value="Submit"/>

 </form>
 </body>
 </html>


 <?php } 
include('inc/footer.php');
 ?>
4

2 に答える 2

0

まず第一にmessage=$_POST['message'];すべきこと$message=$_POST['message'];です。何かを 8 回実行したい場合は、for ループで囲みます。

for($i=0;$i<8;$i++)
{
//code to loop here
}
于 2013-01-18T16:16:56.813 に答える
0

forループを使用できます。構文エラーがあったため、コードもクリーンアップしました。フォームを再利用しているので、おそらく関数にしたいと思うでしょう。

<?php

  include('header1.php');

  function myForm( $name, $message ) {
?>
<form method="POST" action="<?php echo $_SERVER["PHP_SELF"]; ?>">
<input type="hidden" name="prevmsg" value="<?php echo $message; ?>" />
<input type="hidden" name="prevname" value="<?php echo $name; ?>" />
<table>
  <tr>
    <th><label for="name">Name</label></th>
    <td><input type="text" name="name" id="name"></td>
 </tr>
  <tr>
    <th><label for="message">Message</label></th>
    <td><textarea name="message" id="message"></textarea></td>
 </tr>
</table>
<input type="submit" name="submit" value="Submit" />
</form>
<?php

  }

  if( isset($_POST['submit']) && $_POST['submit'] == 'Submit' ) {
    $message = $_POST['message'];
    $name = $_POST["name"];

    for($i = 0; $i < 8; $i++) {
    echo "<center>";
    echo "<div>" . $name . "<br />" . $message ."</div>"; 
    echo "</center>";
    }

    if( isset($_POST['submit']) && isset($_POST['prevmsg']) && isset($_POST['prevname']) ) {
    echo "<center>";
    echo $_POST['prevname'];
    echo "<br/>";
    echo $_POST['prevmsg'];
    echo "</center>";   
    }


?>

<html>
<body style="position:center">
<?php myForm( $name, $message ); ?>
</body>
</html>

<?php

    }
    else {  

   ?>
<html>
<body>
<?php myForm( NULL, NULL ); ?>
</body>
</html>
<?php

    }

  include('inc/footer.php');
?>
于 2013-01-18T16:16:04.273 に答える