HTML表单和会话

时间:2013-01-31 19:24:20

标签: php html web

我想在没有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

等等?

谢谢!

3 个答案:

答案 0 :(得分:2)

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

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

答案 1 :(得分: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>

答案 2 :(得分:1)

说,您的代码类似于

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

然后

使用$name$age

的sessiona变量数组

另外,请在Kaleb Brasee看到这个令人惊讶的answer,在同一个链接上,Sarfraz已经详细解释了它......会帮助你很多