【问题标题】:Show PHP form post output on HTML page在 HTML 页面上显示 PHP 表单发布输出
【发布时间】:2016-09-04 08:19:23
【问题描述】:

我正在使用 AJAX 进行在线测验。我为用户制作了一个注册表单以输入他们的详细信息,如果详细信息有效,php 文件将返回一个用户名。我试图弄清楚一旦表单 POST 工作后如何直接进入主测验页面,并且能够在该主页上显示给定的用户名,我将使用另一个 php 文件来显示测验问题。此外,我正在使用一个示例 php 文件来返回用户名,并且无法查看或更改其中的任何内容。

【问题讨论】:

  • 请在您的问题中输入一些代码
  • 显示用户名是会话。并从会话中获取
  • 输出对ajax调用的响应。
  • 你不能把页面redirect转到主页吗?
  • 您可以将用户名作为参数附加到页面链接。像这样:window.location('yourquizpage.php?user=' + USER_NAME); 在 yourquizpage.php 中,您可以将用户名解析为 $_GET['user']

标签: javascript php html ajax


【解决方案1】:

POST请求后,如果想跳转到另一个页面,则不必使用Ajax

  1. 张贴表格。
  2. 验证服务器上的数据。
  3. 如果凭据有效,则将用户名放入 cookie 会话中,这意味着用户已成功登录。
  4. 将页面重定向到主页。

我强烈建议您阅读有关PHP authentication 的更多信息,并尽可能使用第三方库。

注意:使用未散列的值作为存储在 cookie 中的凭据是完全不安全的。

【讨论】:

  • 我还能用这种方法在主页上查看用户名吗?
  • 在 cookie 中存储用户凭据似乎有点不安全
  • @billynoah 你是对的。我只是想传达这个想法。这就是为什么我敦促他阅读有关身份验证和使用库的更多信息。
  • 将用户名存储在会话而不是 cookie 中。
【解决方案2】:

显然你有两个页面,一个是登录表单,第二个是测验页面。您可以将用户名从登录页面本身保存到会话(而不是 cookie),并在成功验证后重定向到测验页面。在测验页面中,您可以轻松地保留会话变量中的用户名。

会话将持续到您在设置中提到的特定时间段。

您可以在整个应用程序中获取此会话变量。

在 php 中使用 session 非常简单,你可以在这里阅读 PHP.net

在保存密码时将password_hashpassword_verify(PHP 5 >= 5.5.0,PHP 7)与 bcrypt 一起使用以确保安全。

【讨论】:

  • password_hash for PHP >= 5.3.7 && < 5.5
  • @DarkBee 我从 php.net 复制了结构。这意味着适用于 php 5.5
  • 我知道。我链接的库适用于还没有 5.5 PHP 服务器的人
【解决方案3】:

请添加您的代码。

您可以在php中使用header()函数在从用户那里获取有效数据后将您的页面重定向到测验页面。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-09
    • 2019-05-20
    • 2013-02-20
    • 2016-06-08
    • 1970-01-01
    相关资源
    最近更新 更多