0

我想在没有 JavaScript、AJAX 或数据库的情况下执行以下操作。只有 HTML 和 PHP。

这是场景:

我在一个表单中有两个 HTML 输入。此表单通过 POST 方法发送两个值(姓名和年龄)。我从这些值创建一个用户对象,将这些值存储在 SESSION 中,然后在表单下方打印用户信息。我创建用户对象没有问题。

我怎样才能打印出所有用户的信息。例如第一个用户输入他的信息并点击提交,我们有:

 - John
 - 18 years

第二个用户输入他的信息并点击提交,我们有:

- John
- 18 years

- Kevin
- 20 years

第三个用户输入他的信息并点击提交,我们有:

- John
- 18 years

- Kevin
- 20 years

- Bryan
- 19 years

等等?

谢谢!

4

3 回答 3

2

您可以继续将这些内容存储在会话中,以便以后在同一会话中使用。但另一种方法可能是将它们存储在 cookie 中,这两种方法只有在您在一台计算机上输入所有信息时才有效。

如果您想让您的网站将其输出给所有其他用户,您需要一个数据库或其他类似的东西

于 2013-01-31T19:29:22.067 回答
2

您应该将数据存储在数组中,并在每次提交时附加到数组中。

<?php

    session_start();
    $data = array();
    if(isset($_SESSION['data'])) {
        $data = $_SESSION['data'];
    }
    if(isset($_POST['name']) && isset($_POST['age'])) {
        // -- append to the array
        $data[] = array('name'=>$_POST['name'],'age'=>$_POST['age'],);

        // -- update the session
        $_SESSION['data'] = $data;
    }
?>
<!DOCTYPE html>
<html>
 <head>
 </head>
 <body>
    <form action="" method="post">
      Name:<br />
      <input type="text" name="name" size="10" /><br />
      Age:<br />
      <input type="text" name="age" size="2" /><br />
      <br />
        <input type="submit" />
    </form>
    <?php foreach($data as $d) { ?>
        - <?php echo $d['name']; ?><br />
        - <?php echo $d['age']; ?><br /><br />
    <?php } ?>
 </body>
</html>
于 2013-01-31T19:41:59.573 回答
1

说,您的代码类似于

$name = $_Post['name'];
$age = $_Post['age'];

进而

$name对和使用 sessiona 变量数组$age

另外,请参阅Kaleb Brasee 的这个惊人的回答,在同一个链接上,Sarfraz 已经详细解释了它......会对你有很大帮助

于 2013-01-31T19:30:34.667 回答