PHP收集用户输入并显示它

时间:2013-07-22 04:27:28

标签: php html

所以我有这个基本程序,允许您收集用户输入并将其输出回用户,或者换句话说,在浏览器中显示,但也允许您使用onClick方法删除对象。所以这基本上是一个非常简单的Todo列表。

我的问题是如何收集信息并在页面上的行中显示每个先前的信息,而不是刷新浏览器时的所有信息。我知道这样的东西对于数据库来说是理想的,但我试图保持简单,到目前为止我对数据库的了解还不够。我觉得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>

2 个答案:

答案 0 :(得分:1)

您应该使用session来存储上一个变量,以便在刷新页面时再次显示。

将您的代码更改为:     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
  }
?>

希望这有帮助。


<强>更新

抱歉,忘了告诉你应该先开会。这是正确的代码:

<?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. 如何修改会话变量
  4. 基本上你需要的就是这段代码。尽可能地利用它们。祝你好运。

答案 1 :(得分:-1)

HTML5可以为您做到这一点。检查一下,

http://www.w3schools.com/html/html5_webstorage.asp

HTML5在浏览器中提供离线存储。您也可以使用cookie,但在您的情况下,网络存储是更好的选择。