从php文件存储调用会话

时间:2014-03-28 15:27:27

标签: php html session

我试图创建一个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>

1 个答案:

答案 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>