php静的キャッシュobローカルキャッシュ
9605 ワード
作用:淘宝、京东トップページに适用してユーザー登录1、ユーザーが初めてトップページにアクセスする时、すべてのデータベースを検索してトップページに出力して、再度トップページを更新する时、キャッシュから地元のファイルに基づいて出力して、以上はphp静的キャッシュ2、jquery技术を运用してページロードイベントajax(get)の要求を设定して、ユーザーは初めてトップページにアクセスして、ログインしていない状態で、ナビゲーションエリアにログインボタンが保存され、htmlファイル(ページ)がローカルにキャッシュされました.3、ユーザーがログインに成功した場合、htmlファイルをローカルにキャッシュするのではなく、ajaxリクエストを再度トリガーしてローカルリフレッシュ機能を実現する.次に、k 780トップページを例に
k780.php
phpページ出力時にajax(get)ページロードイベントを開きます
user.php
login.phpユーザーログインhtmlページ
ユーザ情報マッチングに成功すると、Cookieにユーザ名を格納と同時にk 780に遷移する.php logindo.php
ユーザは終了し、クッキーをクリアすると同時にk 780にジャンプする.php exit.php
k780.php
// k780.html
if(!is_file("k780.html")){
ob_start();//
?>
<div class="top_uinfo" id='user'>
div>
$info = ob_get_contents(); // $info
$file = fopen('k780.html', 'w'); // k780.html
fwrite($file, $info); // k780.html
fclose($file); // k780.html
}else{
echo "cache:";
echo file_get_contents("k780.html");
}
phpページ出力時にajax(get)ページロードイベントを開きます
<script type="text/javascript">
$(document).ready(function(){
$.get("user.php",function(data){
$("#user").html(data);
})
})
script>
user.php
header("content-type:text/html;charset=utf-8");
if(isset($_COOKIE['name'])){
?>
<a style="color:#0077FF;" href="http://www.k780.com/?q=mgr"> echo $_COOKIE["name"]; ?>a>
<a href="exit.php"> a> | <a href="http://www.k780.com/?q=pay&type=recharge"><font color="red"> font>a>
}else{
?>
<a href="login.php"> a>
} ?>
login.phpユーザーログインhtmlページ
<meta charset="UTF-8">
<form method="post" action="logindo.php">
<table>
<tr>
<td> :<input type="text" value="" name="name" />td>
<td> :<input type="password" value="" name="pwd" />td>
<td><input type="submit" value=" ">td>
tr>
table>
form>
ユーザ情報マッチングに成功すると、Cookieにユーザ名を格納と同時にk 780に遷移する.php logindo.php
// login.php POST
$name = $_POST['name'];
$pwd = $_POST['pwd'];
//dsn
$dsn = "mysql:host=localhost;dbname=user";
$db = new PDO($dsn, 'root', 'root');
// ,
$rs = $db->query("SELECT * FROM user where name='$name' and pwd='$pwd'");
while($row = $rs->fetch()){
if($row){
setcookie('name',$row['name']); // Cookie
header("Location: test_k780.php");
}else{
echo 0;
}
}
ユーザは終了し、クッキーをクリアすると同時にk 780にジャンプする.php exit.php
setcookie("name", "");
header("Location: test_k780.php");