2013-07-22 14 views
0

因此,我有這個基本程序,它允許您收集用戶輸入並將其輸出回用戶或換句話說顯示在瀏覽器中,但也可讓您使用onClick方法刪除對象。所以這基本上是一個非常簡單的Todo列表。PHP收集用戶輸入並顯示它

我的問題是,如何收集信息並在頁面上顯示每行之前的信息,而不是刷新瀏覽器時的所有內容。我知道類似這樣的數據庫對於數據庫來說很理想,但我試圖保持簡單,並且迄今爲止我對數據庫的知識不足。我覺得PHP或甚至Javascript可以解決這個問題,但只是不點擊我。也許for循環或while循環可以做不確定的工作,我可以使用一些幫助。謝謝。

<?php 
if (isset($_POST["user"])) { 
    $user_info = $_POST["user"]; 
} 
?> 
<!doctype html> 
<html lang="en"> 
<head> 
    <meta charset="UTF-8"> 
    <title>Manage Todos</title> 
</head> 
<body> 

    <form action="" method="post"> 

     <input type="text" name="user"></input> 
     <input type="submit" value="Post"> 


    </form> 

    <h1><a href="#" onclick="remove(this)"><?php echo $user_info;?> <?php echo $collect; ?></a></h1> 


</body> 
</html> 

回答

1

您應該使用會話來存儲以前的變量,以便在頁面刷新時再次顯示。

更改您的代碼爲: if(isset($ _ POST [「user」])){ $ _SESSION [「user_info」] = $ _POST [「user」]; }

也能改變你<h1>以下:

<h1><a href="#" onclick="remove(this)"><?php if (isset($_SESSION["user_info"])) echo $_SESSION["user_info"]; ?></a></h1> 

或者你可以改變<h1>到:

<?php 
    if (isset($_SESSION["user_info"])) { 
?> 
    <h1><a href="#" onclick="remove(this)"><?php echo $_SESSION["user_info"]; ?></a></h1> 
<?php 
    } 
?> 

希望這幫助。


UPDATE

對不起,忘了告訴你應該先啓動會話。下面是正確的代碼:

<?php 
session_start(); 
if (isset($_POST["user"])) { 
    $_SESSION["user_info"] = $_POST["user"]; 
} 
?> 

更新2

假設你的網站的網址是015_session_variable.php。

你的代碼改成這樣:

<?php 
    session_start(); 
    if (isset($_POST["user"])) { 
     $_SESSION["old_user_info"] = isset($_SESSION["new_user_info"]) ? $_SESSION["new_user_info"] : ""; 
     $_SESSION["new_user_info"] = $_POST["user"]; 
    } 
    if (isset($_GET["remove"])) { 
     if ($_GET["remove"] == "new") 
      $_SESSION["new_user_info"] = ""; 
     else 
      $_SESSION["old_user_info"] = ""; 
    } 
?> 
<!doctype html> 
<html lang="en"> 
<head> 
    <meta charset="UTF-8"> 
    <title>Manage Todos</title> 
</head> 
<body> 

    <form action="015_session_variable.php" method="post"> 
     <input type="text" name="user" required></input> 
     <input type="submit" value="Post"> 
    </form> 

<?php 
    if (isset($_SESSION["new_user_info"]) && $_SESSION["new_user_info"] != "") { 
?> 
    <h1><a href="#" onclick="removeMe('new');" title="Remove Me">Latest User : <?php echo $_SESSION["new_user_info"]; ?></a></h1> 
<?php 
    } 
?> 

<?php 
    if (isset($_SESSION["old_user_info"]) && $_SESSION["old_user_info"] != "") { 
?> 
    <h1><a href="#" onclick="removeMe('old');" title="Remove Me">Previous User : <?php echo $_SESSION["old_user_info"]; ?></a></h1> 
<?php 
    } 
?> 
    <script> 
     function removeMe(a) { 
      window.open('015_session_variable.php?remove=' + a, '_self'); 
     } 
    </script> 
</body> 
</html> 

現在你有如下信息:

  1. 如何創建會話
  2. 如何存儲在會話
  3. 變量如何修改會話的變量

基本上所有你需要的都已經在這段代碼中。儘可能地利用它們儘可能想象。祝你好運。

+0

更新:它做和我原來的代碼一樣的東西。 –

+0

嗨郡,它不同。假設你的頁面是http://testsite.com。現在提交你的表單與user_info,讓說,「你好。」。然後打開您的網站,鍵入您的網址瀏覽器到您的網站(不刷新)。你會在你的頁面上看到「你好」。這是我們心愛的$ _SESSION許多好處之一。 –

+0

另外不要忘記添加session_start()。請參閱我更新的答案。 –