我试图创建一个php文件,该文件将存储来自html文件和另一个html文件的数据,以便从php文件中调用该数据。
在我的第一个html文件中,我有一些按钮会转到第二个html文件。根据我按下的按钮,我想显示我在按钮中存储的内容的名称。
在第二个html文件中,我有一个销毁该数据的按钮,所以如果我想按另一个按钮,将显示该名称,而不是我按下的第一个按钮。
因此,例如,在登录时,我想以John身份登录,并且目录显示我以John身份登录。一旦我点击退出按钮,我想以Ben身份登录并做同样的事情。
我该怎么做?我可以使用会话吗?
编辑:我更新了我的文件,以及每个文件的内容
的login.html:
<html>
<head>
<title>Login</title>
</head>
<body>
<form action="createsession.php" method="POST">
<input type="submit" name="buttonName" value="John" >
</form>
</body>
catalog.html:
<html>
<head>
<title>catalog</title>
</head>
<body>
<h1>Catalog</h1>
Welcome <?php echo $_SESSION["buttonname"]; ?>.<br>
<form action="sessions.php" method="post">
<input type="submit" value="Logout">
</form>
</body>
createsession.php:
<html>
<body>
<?php
$_POST["buttonName"];
session_start();
$_SESSION['buttonName'];
header('Location: catalog.html');
?>
</body>
答案 0 :(得分:0)
这是您需要做的事情。
的login.html
<html>
<head>
<title>Login</title>
</head>
<body>
<form action="createsession.php" method="POST">
<input type="text" name="username" />
<input type="submit" value="login" >
</form>
</body>
您试图发布提交按钮值,经过多次试验和错误后,我发现您无法做到。因此,我做了一个输入文本框,用户可以输入一个名称。然后以与尝试提交相同的方式发布。
则...
createsession.php
<html>
<body>
<?php
$username = $_POST["username"];
if(isset($username))
{
session_start();
#Store username as part of the session
$_SESSION['username'] = $username;
header('Location: catalog.php');
}
else
{
echo("invalid username");
}
?>
</body>
</html>
创建变量用户名,在其中存储名为username的输入文本框中的POST信息。 我还为你做了一点点验证,检查用户是否确实输入了任何内容,如果有的话,它会使用该数据创建一个会话并将它们重定向到目录,否则只会回显无效。
最后 catalog.php
因为您在目录中使用php标记,所以它必须是.php而不是.html。 您需要再次使用启动会话继续此页面上的会话,然后按照您之前尝试的方式回显用户名。
<html>
<?php
session_start(); #Continues session from previous page
?>
<head>
<title>catalog</title>
</head>
<body>
<h1>Catalog</h1>
<?php
echo "Welcome " . $_SESSION['username'] . "!";
?>
<form action="login.html" method="POST">
<input type="submit" value="Logout">
</form>
</body>
</html>