将数据从 PHP 传递到 HTML
Posted
技术标签:
【中文标题】将数据从 PHP 传递到 HTML【英文标题】:Pass data from PHP to HTML 【发布时间】:2020-12-12 11:26:42 【问题描述】:编辑:感谢您的帮助和时间。我将按照建议将所有扩展名更改为 .php 并检查共享的链接:)!
我是编码的初学者,我在一个问题上被困了几天。因此,我编写了一个带有登录表单的 html 页面。一旦用户单击按钮登录,用户名和密码将在一个 php 文件中检查,如果正确,用户将被重定向到成功登录的 html 页面。我被重定向到成功登录 html 页面,但我无法传递用户数据,我尝试添加 .htaccess
,以便尝试回显会话用户名,但它不显示用户名。
如何将用户会话的数据传递给新的 html 页面?我一直在寻找论坛和在线,但并没有真正找到答案。如果你们有意见或建议,这将是有帮助的,因为我是一个初学者。 感谢您的回答和帮助!
这是用户成功登录后应该发生的 php 部分:
check.php
if(password_verify($password, $row["password"])
$_SESSION['loggedin'] = true;
$_SESSION['username'] = $username;
header( 'Location: http://successfullogin.html' );
successfullogin.html
代码:
<?php
session_start()
?>
<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<title>Profile</title>
<meta name="viewport" content="width=device-width, initial-scale=1,
shrink-to-fit=no">
<link rel="stylesheet" href="/css/style.css">
<script src="/js/script.js"></script>
</head>
<body>
<div>
<h1>Sucess login </h1>
<?php
echo $_SESSION[‘username’];
?>
</div>
</body>
</html>
【问题讨论】:
Everything works but I just can't pass the user data
???
显然一切都不起作用。您的页面顶部是否有session_start()
,然后是其他任何内容?
@GetSet 我的页面开头有一个 session_start()。我的意思是当用户名和密码正确时,它会将我重定向到标题位置。对不起我的措辞。
重定向页面是否有 session_start()。你能显示那个代码吗?
@GetSet 确定我将使用新页面编辑我的帖子。谢谢!
【参考方案1】:
您不能在 .html 文件中运行 PHP,因为服务器无法将该扩展名识别为有效扩展名。要告诉您的服务器将 html 文件理解为有效,请检查以下主题
How do I add PHP code/file to HTML(.html) files?
或将您的 successfullogin.html
更改为 successfullogin.php
【讨论】:
有道理。 OP说它确实被重定向了。值得一提的是,重定向文件还应该扩展名为.php
。
好的,谢谢,这是我正在考虑的选项之一。我只是想看看是否有另一种方法可以在保留 .html 扩展名的同时传递数据。我看到有些人也提到了 ajax,但我看到大多数例子也是关于 php 文件扩展名的。
Ajax 需要一个 PHP 文件来与您的服务器通信,因此您只需使用 javascript 进行 ajax 调用以在 HTML 文件中显示 ajax 响应
基本上 ajax 有助于从服务器获取数据而无需重新加载整个文档,如果您以前从未学习过,我建议您学习它
@AggestorMhl 好的,谢谢推荐!我想我也应该从那开始:)!以上是关于将数据从 PHP 传递到 HTML的主要内容,如果未能解决你的问题,请参考以下文章