【问题标题】:storing a calling session from php file从 php 文件存储调用会话
【发布时间】:2018-09-13 17:51:42
【问题描述】:

我正在尝试创建一个 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>

目录.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>

【问题讨论】:

    标签: php html session


    【解决方案1】:

    这是你需要做的。

    登录.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 信息。 我还为您做了一些验证,检查用户是否实际输入了任何内容,如果输入了,它会使用该数据创建一个会话并将它们重定向到目录,否则,只会回显无效。

    终于 目录.php

    因为您在目录中使用 php 标签,所以它需要是 .php 而不是 .html。 您需要再次使用 start session 来继续此页面上的会话,然后像之前尝试的那样回显用户名。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-06-09
      • 1970-01-01
      • 2013-09-11
      • 1970-01-01
      • 1970-01-01
      • 2014-01-29
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多