Heim  >  Artikel  >  PHP-Framework  >  Detaillierte Erläuterung des Beispielcodes für die ThinkPHP-Anmeldefunktion

Detaillierte Erläuterung des Beispielcodes für die ThinkPHP-Anmeldefunktion

angryTom
angryTomnach vorne
2020-03-19 09:37:263780Durchsuche

Die Benutzeranmeldefunktion ist eine häufige Anforderung in der PHP-Programmierung. Das ThinkPHP-Beispiel in diesem Artikel vervollständigt hauptsächlich das Schreiben des Codes zum Aufrufen der Homepage nach erfolgreicher Registrierung und zeigt Ihnen, wie Sie die Funktion zum Anmelden von Benutzern implementieren.

Detaillierte Erläuterung des Beispielcodes für die ThinkPHP-Anmeldefunktion

Detaillierte Erläuterung des Beispielcodes für die ThinkPHP-Anmeldefunktion

Spezifische Schritte:

Schritt 1: Fügen Sie Folgendes hinzu:

'USER_AUTH_KEY'=>'authId'

zur Datei config.php. Das Beispiel lautet wie folgt:

(empfohlenes Tutorial: thinkphp-Tutorial)

 'mysql',// 指定数据库是mysql
'DB_HOST'=> 'localhost',
'DB_NAME'=>'myuser', // 数据库名
'DB_USER'=>'root',
'DB_PWD'=>'', //您的数据库连接密码
'DB_PORT'=>'3306',
'DB_PREFIX'=>'think_',//数据表前缀
'USER_AUTH_KEY'=>'authId'
);
?>

Schritt 2: Verwenden Sie:

Session::set(C('USER_AUTH_KEY'),$user);

im insert()-Code in AdminAction.class.php, um den Login-Benutzernamen für die Sitzung zu speichern.

Der vollständige Implementierungscode lautet wie folgt:

public function insert()
{
header('Content-Type:text/html; charset=utf-8');//防止出现乱码
$user=$_POST['user'];
$this->verifyCheck();
$Pagemodel = D("user");
$vo = $Pagemodel->create(); 
if(false === $vo) die($Pagemodel->getError());
$topicid = $Pagemodel->add(); //add方法会返回新添加的记录的主键值
if($topicid)
{ // www.jbxue.com
//$_SESSION[C('USER_AUTH_KEY')]=$user;//不能用此句
Session::set(C('USER_AUTH_KEY'),$user);
//dump(Session::get('authId')); 
echo "<script>alert(&#39;数据库添加成功&#39;);location.href=&#39;http://127.0.0.1/zhuce/index.php/index&#39;;</script>";
}
else throw_exception("<script>alert(&#39;数据库添加失败&#39;);history.back();</script>");
}

Schritt 3: Verwenden Sie if(!Session::is_set(C('USER_AUTH_KEY'))) in der IndexAction.class. PHP-Datei Stellen Sie fest, ob der Benutzer angemeldet ist.

Session::get(C(&#39;USER_AUTH_KEY&#39;))是获取登录用户的名。

Der spezifische Code lautet wie folgt:

public function index()
{ //www.jbxue.com
if(!Session::is_set(C(&#39;USER_AUTH_KEY&#39;)))
//if(!isset($_SESSION[&#39;USER_AUTH_KEY&#39;])||($_SESSION[&#39;USER_AUTH_KEY&#39;]==0))//不能用此句
{
$msg="用户没有登录"; 
}
else
{
$msg=Session::get(C(&#39;USER_AUTH_KEY&#39;)).&#39;欢迎你回来&#39;;
}
$this->assign(&#39;msg&#39;,$msg);
$this->display(); 
}

Schritt 4: Zeigen Sie die Vorlage auf der Startseite an, der Code lautet wie folgt:

<body>
{$msg}<br />
这是我的首页
</body>

Zusammenfassung:

Der Login-Code dreht sich um Schreibsitzungen, Bewertungssitzungen und Lesesitzungen.

Um eine Sitzung zu schreiben, verwenden Sie: Session::set(C('USER_AUTH_KEY'),$user);

Um eine Sitzung zu beurteilen, verwenden Sie: if(!Session::is_set( C('USER_AUTH_KEY') ));

Zum Lesen der Sitzung: Session::get(C('USER_AUTH_KEY'))

Chinesische PHP-Website, viele kostenlose MySQL-Videos Tutorials, willkommen zum Online-Lernen!

Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung des Beispielcodes für die ThinkPHP-Anmeldefunktion. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:csdn.net. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen