php
1function chkSimpleRule() 2 { 3 $result='0'; //非表示を初期値としてセットしているから 4 $userinfo = $this->backend->cipher['userinfo']; //ユーザー情報を取得 5 $role = $this->af->userinfo2role($userinfo); //権限を取得 6 if($role == 'cipheradm'){ //システム管理者か判定 7 return $result;//システム管理者の場合は「0:暗号化ルール簡易表示利用しない」を返却して終了 8 } 9 if($role == 'cipherdomain' || $role == 'cipheruser' ){ //ドメインか一般ユーザーならtrue 10 $user_account = $userinfo['account']; //ユーザー以外か判定 11 if($role == 'cipheruser'){ 12 if(preg_match('/@([^@]+)$/', $user_account, $m)){ 13 $user_account = '@' . $m[1]; //@以降のドメイン部分を取得している。 14 } 15 } 16 $user_id = '0'; 17 $sql = "SELECT tusr_id FROM tusr_user WHERE tusr_account = ?"; //ユーザーアカウントを代入 18 $sql = "SELECT tusr_id FROM tusr_user WHERE tusr_account IN (SELECT tusr_account FROM tdmn_domain WHERE tdmn_add_domain = ?)"; 19 $sth = $this->db_cipher->db->prepare($sql); 20 $user_id = $this->db_cipher->db->getOne($sql,array($user_account)); //取得したドメインがユーザ登録されてるか、ユーザ情報テーブル(tusr_user)から取得 21 if (Ethna::isError($user_id) || $user_id == '0') { //登録されていない場合は「0:暗号化ルール簡易表示利用しない」を返却して終了 22 return $result; 23 } 24 $result = $this->chkDomainSimpleRule($user_id); //取得したユーザIDで暗号化ルール簡易表示の利用有無のチェック関数呼び出す 25 return $result; 26 27 } else{ 28 return $result; 29 } 30 }
18行目の$sql = "SELECT tusr_id FROM tusr_user WHERE tusr_account IN (SELECT tusr_account FROM tdmn_domain WHERE tdmn_add_domain = ?)";を記述した際、(1回目のSQL実行)if文で条件判定(条件次第で2回目を実行)というif文を記述したいです。
17行目で登録されているか確認テーブルから取得し登録されていなかったら18行目のドメインが登録されているかチェックしたいです。
if文の何を使えばいいかおおまかな構文だけでも知りたいです。
回答1件
あなたの回答
tips
プレビュー