2013-01-18 81 views
1

我有一个关于在页面顶部显示文本框消息的问题。 我使用此代码 -在表单提交后在同一页面上显示文本框消息

<?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 } ?> 

我怎么能保存以前输入的内容及以下提交表单新的细节显示出来

+0

也许将每条消息附加到'$ _SESSION'并在其中显示所有消息? – RobMasters

回答

1

您可以在隐藏字段传递前一个消息像这样

<?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 } ?> 
+0

这是聪明的想法... –

+0

它的工作感谢你。只是有点混乱去整理。谢啦! – user1990230

+0

@ user1990230很高兴我能帮助你 – Sibu

0

一个肮脏的解决方案,让你去...

<?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;?> 
0

@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> 

移动该功能,以便您可以指定要显示消息的位置。希望能帮助到你。

相关问题