<?php

class Reload {
	
	var $id;	// id
	var $val;	// ユニーク値
	var $flag;	// GET/POSTフラグ
	
	function Reload($id = 'RELOAD') {
		
		// IDセット
		$this->id = $id;
		
		// GET/POSTチェック
		if($_GET[$this->id])
			$this->val = $_GET[$this->id];
		else if($_POST[$this->id])
			$this->val = $_POST[$this->id];
		
		// GET/POSTで送信した場合はフラグをセット
		if($this->val)
			$this->flag = true;
		
		// 送信していない場合はIDを生成
		else
			$this->val = uniqid('');
	}
	
	// リロードチェック
	// 0: リロードしてない
	// 1: リロードした
	function Check() {
		
		// セッションデータを初期化
		session_start();
		
		// GET/POSTフラグをチェック
		if($this->flag) {
			// セッション変数が存在する場合は1をリターン
			if($_SESSION[$this->val])
				return 1;
			
			// 存在しない場合はセッション変数をセットして0をリターン
			else {
				
				$_SESSION[$this->val] = TRUE;
				return 0;
			}
		}
		return 0;
	}
	
	// URL用パラメータを出力
	function ParamURL() {
		return sprintf("?%s=%s", $this->id, $this->val);
	}
	
	// フォームタグ用パラメータを出力
	function ParamTAG() {
		return "<input type=\"hidden\" name=\"$this->id\" value=\"$this->val\">";
	}
}
?>
