PHP输入密码才能访问这个页面的代码 20
给任意php页面增加一个密码保护,需要输入正确密码才能访问。
代码如下:
<?php
$adminkey = "123";/*设置密码*/
session_start();
if(@$_POST['password'] == $adminkey){
$_SESSION['login'] = md5($adminkey);
}
if($_SERVER['QUERY_STRING'] == "logout"){
$_SESSION['login'] = "";
header("location: " . $_SERVER['PHP_SELF']);
exit();
}
$html_login = <<<EOF
<!DOCTYPE html>
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<style>
div{text-align:center; margin:0 auto;}
#loginform{width:230px;height:100px;background-color:#ffffff;box-shadow: 2px 2px 10px 1px #403f3f;}
</style>
</head>
<body>
<div id="loginform">
<div style="text-align:center; margin:260px auto 0px;">
<form action="" method="post">密码<input type="password" name="password" style="width:120px; margin-top: 35px;">
<input type="submit" value="登录" style="margin-left: 5px;">
</form>
</div>
</div>
</body>
</html>
EOF;
if(@$_SESSION['login'] != md5($adminkey)){
exit($html_login);
}
?> 这里加上要显示的内容文字或者代码。
扩展资料:
PHP双引号和单引号的区别
1、双引号解释变量,单引号不解释变量
2、双引号里插入单引号,其中单引号里如果有变量的话,变量解释
3、双引号的变量名后面必须要有一个非数字、字母、下划线的特殊字符,或者用讲变量括起来,否则会将变量名后面的部分当做一个整体,引起语法错误
4、双引号解释转义字符,单引号不解释转义字符,但是解释'\和\
5、能使单引号字符尽量使用单引号,单引号的效率比双引号要高(因为双引号要先遍历一遍,判断里面有没有变量,然后再进行操作,而单引号则不需要判断)
可以用php的session或者cookie实现
首次打开和关闭浏览器重新打开 都需要输入密码才可以访问 密码是 admin
<?php
session_start();
if(isset($_POST['password']) && $_POST['password'] == 'admin'){
$_SESSION['ok'] = 1;
header('location:?');
}
if(!isset($_SESSION['ok'])){
exit('
<form method="post">
密码:<input type="password" name="password" />
<input type="submit" value="登陆" />
</form>
');
}
?>
<html>
<head>
<title>title</title>
</head>
<body>
输入密码才能访问这个页面
</body>
</html>