Okey guys,我尝试使用访问代码保护页面,但如果某些人在url中写入pagename.php页面未加载,页面加载时未检查我的代码。代码工作后把正确的接入码重定向到我的网页,但网页无法在URL我的页面写入后无码固定客户访问页面.....如何使用访问代码保护页面
<?php
include ('modules/conf.php');
session_start();
if($_SERVER["REQUEST_METHOD"] == "POST") {
$secretcode = mysqli_real_escape_string($db,$_POST['secretcode']);
$sql = "SELECT * FROM password WHERE password = '$secretcode'";
$result = mysqli_query($db,$sql);
$row = mysqli_fetch_array($result,MYSQLI_ASSOC);
$active = $row['active'];
$count = mysqli_num_rows($result);
if($count == 1) {
$_SESSION['login_user'] = $secretcode;
session_start();
header("location: question.php");
}else {
echo '<script type="text/javascript">';
echo 'setTimeout(function() { swal("", "Съжеляваме вашият код е невалиден");';
echo '}, 1000);</script>';
}
}
?>
<div class="section">
<div class="container-fluid gamebox">
<div class="row">
<div class="col-md-6">
<div class="secretcode">
<h1 class="text-center">въведете код от брошурата</h1>
<form action="" method="post" class="formsecretcode text-center">
<input type="secretcode" id="codeverify" name="secretcode" placeholder="въведете вашият код">
<input type="submit" class="buttonsubmit" name="submit" value="провери код">
</form>
</div>
</div>
旁注:您不需要使用'session_start();'两次,这可能会触发会话已经开始。 –
你向我们展示了密码页面,但不是应该是安全的页面(question.php)。在该页面上,您必须检查您的$ _SESSION ['login_user']'是否已定义,如果不是,则重定向。 – WheatBeak
**答:**简单。检查会话是否设置*(带有可选的“if {equal to something}'”)*,如果不是,'else {踢出}'。另外最好在头后添加'exit;',否则你的代码可能要继续执行。 –