我想在没有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
等等?
谢谢!
答案 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
另外,请在Kaleb Brasee看到这个令人惊讶的answer,在同一个链接上,Sarfraz已经详细解释了它......会帮助你很多