2013-01-18 115 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> 

移動該功能,以便您可以指定要顯示消息的位置。希望能幫助到你。

相關問題