简体   繁体   English

提交表单后在同一页面上显示文本框消息

[英]Display textbox message on the same page after form submission

I have a question about displaying textbox message on the top of the page. 我有一个关于在页面顶部显示文本框消息的问题。 I use this code - 我使用此代码-

 <?php
if(isset($_POST['submit']) && $_POST['submit']=='Submit'){
 $message=$_POST['message'];
 $name=$_POST["name"];
 echo $name . "<br />" . $message;?>
 <html>
 <head>
 </head>
 <body>
<form method="POST" action="<?=$_SERVER["PHP_SELF"]?>">

    <br>Name:<input type="text" name="name" id="name">

    <br>Message:<textarea name="message" id="message"></textarea>

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

   </form>
   </body>
   </html>
   <?php    
  }
  else {  
    ?>
 <html>
 <head>  
 </head>
 <body>
 <form method="POST" action="<?=$_SERVER["PHP_SELF"]?>">

    <br>Name:<input type="text" name="name" id="name">

    <br>Message:<textarea name="message" id="message"></textarea>

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

</form>
</body>
</html>
<?php } ?>

How can i save the previous entered details and display them below the new details submitted by the form 如何保存之前输入的详细信息,并在表单提交的新详细信息下方显示它们

you can pass the previous message in an hidden field like this 您可以在这样的隐藏字段中传递上一条消息

<?php
if(isset($_POST['submit']) && isset($_POST['prevmsg'])){

 echo "New Message :".$_POST['message'];
 echo "Previous Message :".$_POST['prevmsg'];

}

if(isset($_POST['submit']) && $_POST['submit']=='Submit'){
 $message=$_POST['message'];
 $name=$_POST["name"];
 echo $name . "<br />" . $message;?>
 <html>
 <head>
 </head>
 <body>
<form method="POST" action="<?=$_SERVER["PHP_SELF"]?>">

    <br>Name:<input type="text" name="name" id="name">

    <br>Message:<textarea name="message" id="message"></textarea>
        <input type="hidden" name="prevmsg" value="<?=$message?>"/>
    <br><input type="submit" name="submit" value="Submit"/>

   </form>
   </body>
   </html>
   <?php    
  }
  else {  
    ?>
 <html>
 <head>  
 </head>
 <body>
 <form method="POST" action="<?=$_SERVER["PHP_SELF"]?>">

    <br>Name:<input type="text" name="name" id="name">

    <br>Message:<textarea name="message" id="message"></textarea>

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

</form>
</body>
</html>
<?php } ?>

A dirty solution to keep you going... 让您继续前进的肮脏解决方案...

<?php
  if(isset($_POST['submit']) && $_POST['submit']=='Submit'){
  $message=$_POST['message'];
  $name=$_POST["name"];
  if( isset( $_COOKIE['previous_message'] ) ) {
    $the_previous = explode(';', $_COOKIE['previous_message']);
    echo $the_previous[0] . "<br />" . $the_previous[1];?>
  } else {
    setcookie('previous_message', $name . ';' . $message);
  }
  setcookie('previous_message', $name . ';' . $message);
  echo $name . "<br />" . $message;?>

@Sibu, try this. @Sibu,试试这个。

<?php
function display(){
    if(isset($_POST['submit']) && $_POST['submit']=='Submit'){
        $message=$_POST['message'];
        $name=$_POST["name"];
        echo $name . "<br />" . $message;?>
    }
}
?>
<html>
<head>
</head>
<body>
<?php display(); ?>
<form method="POST" action="<?=$_SERVER["PHP_SELF"]?>">
    <br>Name:<input type="text" name="name" id="name">
    <br>Message:<textarea name="message" id="message"></textarea>
    <br><input type="submit" name="submit" value="Submit"/>
</form>
</body>
</html>

move the function so that you can specify where you want the message to be displayed. 移动功能,以便您可以指定要在何处显示消息。 hope it helps. 希望能帮助到你。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM