<?php
/**
* フロントページの基本クラス
*/
class WebLoginBase extends WebBase{
public $type;
public $グループ ID;
public $played;
public $NO;
public $gameFanDian;
function __construct($dsn, $user='', $password=''){
session_start();
if(!$_SESSION[$this->memberSessionName]){
header('location: /user/logout');
exit('ログインしていません');
}
## try{parent::__construct($dsn, $user, $password); //$this->gameFanDian=$this->getValue(" select fanDian from {$this->prename}members where uid=?", $GLOBALS['SUPER-ADMIN-UID']); // 同じユーザーが 1 か所のみにログインするように制限しますif(!$this->getValue("ssc_member_session から isOnLine を選択します。ここで uid={$this->user['uid']} および session_key=? ID による順序制限 1", session_id ()) ){ session_unset(); session_destroy(); header('location: /user/logout'); exit ('すでにログアウトしています。再度ログインしてください'); } /*$session_key=$this->getValue("ssc_member_session から session_key を選択します。ここで uid={$this ->user ['uid']} および isOnLine=1 ID 記述制限による順序 1"); if($session_key != session_id()){ header('location : /user/ logout'); exit('ログアウトしました。再度ログインしてください'); }*/ }catch(Exception $ e){ } } public function freshSession(){ if(!$ this->user ) return false; $sessionId=$this->user['sessionId']; if($this->user['testFlag']= =1){ $sql="select * from {$this->prename}guestmembers where uid=?"; }else{ $sql= "select * from { $this->prename} members where uid=?"; } $user=$this->getRow($sql, $this->>; user['uid' ]); $user['sessionId']=$sessionId; $user['_gameFanDian']=$this->getGameFanDian(); $ _SESSION[$this->memberSessionName]=serialize($user); $this->user=$user; return true; } public function getGameFanDian(){ if($this->gameFanDian) return $this->gameFanDian; $this->getSystemSettings(); return $this->gameFanDian=$this->settings['fanDianMax']; }
# パブリック関数 getSystemSettings($expire=null){
if($expire===null) $expire=$this->expire;
$file=$this- >cacheDir . 'systemSettings';
if($expire && is_file($file) && filemtime($file) $expire>$this->time){
return $this ->設定 =unserialize(file_get_contents($file));
}
$sql="{$this->prename}params から * を選択";
$this->settings=array() ;
if($data=$this->getRows($sql)){
foreach($data as $var){
$this->gt; settings[$var['name']]=$var['value'];
}
}
file_put_contents($file, Serialize($this-> ;設定));
return $this->settings;
}
public function getSystemCache($cacheFile,$getvalue='',$expire=null){
if($expire < 30) $expire=$this->expire;
$ abbl=$cacheFile=='staticdata/gamedatas.php';
$file=$abbl?$this->cacheDir.'/partNameList.dump':($this->cacheDir. '/ systemplayed'.$getvalue.'_'.md5($cacheFile));
//キャッシュ ファイルは存在しますが、作成されてから 10 時間以内です。直接使用してください キャッシュされた結果セットは MySQL クエリを実行しなくなりました
if($expire && is_file($file) && time()-filemtime($file) < $expire) {
//キャッシュ内の結果を使用します
if($abbl){
$parts=file_get_contents($this->cacheDir.'/partNameList.dump');
$cached='';
foreach(json_decode($parts,1) as $part){
$cached. =file_get_contents ($part).';';
}
echo $cached;
}else{
echo file_get_contents($file);
}
}else{
//結果セットをキャッシュする
ob_start();
$this ->display($cacheFile);
$ob=ob_get_contents();
if($abl){
$obs=explode(';',$ob);
array_pop($obs);
$partNameList= array( );
foreach($obs as $cached){
$part=explode('=',str_replace('var','',$)キャッシュ済み) );
$partNameList[]=$this->cacheDir.'/'.trim($part[0]);
file_put_contents(end($partNameList),$cached);
}
file_put_contents($this->cacheDir.'/partNameList.dump', json_encode( $partNameList));
}else{
file_put_contents($file,$ob);
}
ob_end_flush();
}
}
/* public function delete_file($str){
$dir=$this->cacheDir;
$list = scandir($dir); // ファイルの下にあるすべてのファイルとフォルダーを取得します
foreach($list as $file){//Traverse
$ file_location=$dir."/".$file;//パスを生成
if(is_dir($file_location) && $file!="." &&$file!=".."){ //フォルダーかどうかを判断します。
//echo "------------------------サインイン $file_location------ - -----------";
//delete_file($file_location); //トラバースを続ける
}else if($file!="."&&$file!=".."){
if(substr_count($file,$str)>0){//If file名前には文字列
unlink($dir."/".$file);
}
}
}
## が含まれます。 # } public function setcachefile($cacheFile, $getvalue){ $file=$this->cacheDir. '/'.md5($getvalue.$cacheFile); $actionTime=$this->getGameCachetime($getvalue); $cachefiletime=strtotime($actionTime); $file=$file.'_'.$ achefiletime; if(is_file($file)) { echo file_get_contents($file); }else{ //期限切れのキャッシュを削除 $this->delete_file(md5($getvalue.$cacheFile)); //結果セットをキャッシュする ob_start(); $this->display($cacheFile); file_put_contents($file,ob_get_contents()); ob_end_flush(); } }*/## /**
* ユーザー資金の変更
*
* 取引では
を使用してください*/
public function addCoin($log){
if (!isset($log['uid'])) $log['uid']=$this->user['uid'];
if(!isset($log['info ' ])) $log['info']='';
if(!isset($log['coin'])) $log['coin']=0;
# # if(!isset($log['type'])) $log['type']=0; if(!isset($log['fcoin'])) $log['fcoin ' ]=0; if(!isset($log['extfield0'])) $log['extfield0']=0; if(!isset($log[' extfield1 '])) $log['extfield1']=''; if(!isset($log['extfield2'])) $log['extfield2']='';$sql="call setCoin({$log['coin']}, {$log['fcoin']}, {$log['uid']}, {$log[ ' liqType']}, {$log['type']}, '{$log['info']}', {$log['extfield0']}, '{$log['extfield1']}', ' {$log['extfield2']}')"; //echo $sql;exit; $this->insert($sql) ; } パブリック関数 guestaddCoin($log){ if(!isset($log['uid'])) $log [ 'uid']=$this->user['uid']; if(!isset($log['info'])) $log['info']=''; if(!isset($log['coin'])) $log['coin']=0; if(!isset($log['type'])) $ log ['type']=0; if(!isset($log['fcoin'])) $log['fcoin']=0; if(!isset( $ log['extfield0'])) $log['extfield0']=0; if(!isset($log['extfield1'])) $log['extfield1']=''; if(!isset($log['extfield2'])) $log['extfield2']='';
$sql="call guestsetCoin({$log['coin']}, {$log['fcoin']}, {$log['uid']}, {$log['liqType']}, {$log['type']}、'{$log['info']}'、{$log['extfield0']}、'{$log['extfield1']}'、'{$log[' extfield2']}')";
//echo $sql;exit;
$this->insert($sql);
}
/**
* 利用可能なリベートを読む
*/
パブリック関数 getFanDian($uid=null){
if($uid===null){
if(!$uid=$this->user['parentId']){
return $this->params['basePl'];
}
}
return $this->getValue("parentId=? の {$this->prename} メンバーから fanDian を選択", intval($uid));
}
}
ログインせずに直接アクセスするのは安全ではありません。
ログインせずに全員が入場できるようにしますか、それともログインせずに自分だけが入場できるようにしますか?
アイデアを教えてください:
1. 誰もログインしない場合は、ユーザーの判断を削除してください。
2. ログインできないようにするには次の 2 つの方法があります:
1. IP アドレスが固定されている場合は、その IP アドレスが自分のアドレスであると判断して直接入力することができます。
2. 具体的にページを作成し、自分で使用し、このページに入り、自動的にログインして入ることができます。