【发布时间】:2021-09-07 23:56:47
【问题描述】:
我在我的网站上为一个学校项目工作。网络有一个登录系统。我知道我在做的是愚蠢的,我强制将 HTML 读取为 PHP,因为我的设计团队使用 HTML 来连接每个页面,现在我没有更多的时间来编辑所有这些。但我意识到当我在我的 .htaccess 中使用这个命令时
AddType application/x-httpd-php .html
该代码用于将 HTML 强制读取为 PHP。但是当我这样做时,里面包含 PHP 的 HTML 页面无法读取里面的会话。这是我试图在 HTML 页面上打印的会话。会话是在用户登录时在登录页面上设置的。以及我主页上成功登录的用户的以下代码
<?php
session_start();
echo "halooo";
echo "The email is " . $_SESSION["email"] . "<br>";
echo "The data is " . $_SESSION["data"] . "<br>";
echo "test dataaaa";
?>
这不是全部代码。其他代码仅用于设计,我已经尝试删除其他代码,仍然无法打印会话。
我知道最好的方法是将 HTML 更改为 PHP,但如果有任何其他解决方案,我仍然可以强制将 HTML 读取为 PHP,但我也可以在 HTML 页面上打印会话,这将帮助我很多。谢谢
这是我设置会话变量的登录页面
<?php
session_start();
$alert="";
include 'config.php';
if(isset($_POST["login"]))
{
$usern = $_POST['username'];
$pass = md5($_POST['password']);
if($usern && $pass)
{
$sql = "SELECT username, pass, usercode, status FROM client_login WHERE username = '$usern'";
$result = mysqli_query($conn, $sql);
if(!mysqli_num_rows($result))
{
$alert= '<div class="alert alert-warning" role="alert">
Data anda tidak ditemukan! Silahkan melakukan Sign Up terlebih dahulu. >> <a href="register.php" class="alert-link">Register</a> <<
</div>';
}else{
$row = mysqli_fetch_assoc($result);
if($row["username"] != $usern || $row["pass"] != $pass)
{
$alert= '<div class="alert alert-warning" role="alert">
Username atau Password anda salah! Periksa kembali data anda!
</div>';
}else
{
$sql2 = "SELECT username, nama, telp, email FROM clientdata WHERE username = '$usern'";
$result2 = mysqli_query($conn, $sql2);
$row2 = mysqli_fetch_assoc($result2);
$_SESSION["username"]=$row["username"] ;
$_SESSION["usercode"]=$row["usercode"] ;
$_SESSION["email"]=$row2["email"] ;
$_SESSION["status"]=$row["status"] ;
$_SESSION["session"]= "active";
$_SESSION["data"]= "datatest";
header('Location : client/home.html');
}
}
}else{
$alert= '<div class="alert alert-warning" role="alert">
Masukan username dan password!
</div>';
}
}
mysqli_close($conn);
?>
【问题讨论】:
-
没有明显的原因,为什么这会有所不同。您是否启用了正确的 PHP 错误报告?如果没有,请现在就先去做吧。
-
“无法读取里面的会话”是什么意思?您尝试过什么来解决问题?
-
页面上的php是否起作用,唯一的问题是你没有得到echo里面的session信息?
-
如何进行正确的 PHP 错误报告?你能给我具体的指示吗?谢谢@NicoHaase
-
做什么?请分享更多详细信息,例如将此类数据写入会话的代码,以及您解决问题的尝试