phpcms v9判斷用戶是否登錄?phpcms v9如何判斷用戶是否登錄以及登陸后的標簽寫法問題
首先要獲取userid
{php$userid=param::get_cookie('_userid');}
然后再判斷是否為空
{if $userid}。。。這里寫已經登錄之后的代碼。。。{else}。。。這里寫已經登錄之后的代碼。。。{/if}
搞定。
立即學習“PHP免費學習筆記(深入)”;
如果想要擴展更多的功能,比如內容增加 ?登錄后查看聯系方式 ?的功能,此時我們需要聲明一個變量,用來控制登錄后的返回頁面。
$forward?=?trim($url);
未登錄時的代碼
登錄查看聯系方式
注意鏈接地址里面要有參數forward={urlencode($url)} ? 這樣用戶登錄后才能成功返回到之前的內容頁面。
完整的代碼
{php$userid=param::get_cookie('_userid');$forward=trim($url);} {if$userid}
登錄后的內容
{else} ahref="{APP_PATH}index.php?m=member&c=index&a=login&forward={urlencode($url)}&siteid={$siteid}"target="_top">
登錄查看聯系方式
/a> {/if}
但是如果我們想在首頁想要實現的話用這樣的方法就行不通了,因為首頁為靜態,我們可以通過寫一個方法來實現。
打開/phpcms/modules/content/index.php ?增加
//首頁用戶登錄 publicfunctionmember(){ $_username=param::get_cookie('_username'); $_userid=param::get_cookie('_userid'); $siteid=isset($_GET['siteid'])?intval($_GET['siteid']):''; //定義站點id常量 if(!defined('SITEID')){ ??define('SITEID',$siteid); } $snda_enable=pc_base::load_config('system','snda_enable'); includetemplate('member','afterlogin'); }
方法名可以自己根據實際情況來定義。然后在首頁模板上需要顯示的位置增加
document.write('')
PHP中文網,大量的免費PHPCMS教程,歡迎在線學習!
? 版權聲明
文章版權歸作者所有,未經允許請勿轉載。
THE END
喜歡就支持一下吧
相關推薦