###前提・実現したいこと
サーバーを変更したところPHPのバージョンが変わってしまい今まで動いていたプログラムが動かなくなってしまいました。
そのためプログラムをPHP5に対応した形に変更したいのですが、$thisの動きで躓いてしまいました。
自分なりに調べてみたもののあまりピンとこなかったもので、こちらで聞いたほうが早いかと思い質問をさせていただきました。
当方、PHPをはじめて半年足らずで$thisをあまり使ったことが無いので、ここはこういう動きをしているからこういう風に直したらよいなどの解説、助言をお願いします。
###該当のソースコード
PHP
1<?php 2class Reload { 3 var $id; // ID 4 var $val; // ユニーク値 5 var $flag; // GET/POSTフラグ 6 7 // コンストラクタ 8 function Reload($id = 'RELOAD') { 9 10 // IDをセット 11 $this ->id = $id; 12 13 // GET/POSTをチェック 14 if ($_GET[$this->id]){ 15 $this->val = $_GET[$this->id]; 16 }else if ($_POST[$this->id]){ 17 $this->val = $_POST[$this->id]; 18 } 19 // GET/POSTで送信した場合はフラグをセット 20 if ($this->val){ 21 $this->flag = true; 22 } 23 // 送信していない場合はIDを生成 24 else{ 25 $this->val = uniqid(''); 26 } 27 } 28 29 // リロードチェック 30 // 0: リロードしていない 31 // 1: リロードした 32 function Check() { 33 34 // セッションデータを初期化 35 session_start(); 36 37 // GET/POSTフラグをチェック 38 if ($this->flag) { 39 40 // セッション変数が存在する場合は1をリターン 41 if ($_SESSION[$this->val]){ 42 return 1; 43 } 44 // 存在しない場合はセッション変数をセットして0をリターン 45 else { 46 47 $_SESSION[$this->val] = TRUE; 48 return 0; 49 } 50 } 51 return 0; 52 } 53 54 // URL用パラメータを出力 55 function ParamURL() { 56 return sprintf("?%s=%s", $this->id, $this->val); 57 } 58 59 // フォームタグ用パラメータを出力 60 function ParamTAG() { 61 return "<input type=\"hidden\" name=\"$this->id\" value=\"$this->val\">"; 62 } 63} 64 65?> 66
回答2件
あなたの回答
tips
プレビュー