Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/231.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Drupal登录注销链接_Php_Drupal_Drupal 7 - Fatal编程技术网

Php Drupal登录注销链接

Php Drupal登录注销链接,php,drupal,drupal-7,Php,Drupal,Drupal 7,我有以下代码来显示用户何时登录以及何时未登录 <?php global $user; if ($user->uid > 0) { echo "You are logged in as: " . $user->name . "<br>"; } else { echo "You are not logged in!<br>"; } ?> 我想添加一个注销链接(登录时)和一个登录链接(未登录时)。我会使用html链接吗?如果是,我将如

我有以下代码来显示用户何时登录以及何时未登录

<?php
global $user;
if ($user->uid > 0) {
  echo "You are logged in as: " . $user->name . "<br>";
} else {
  echo "You are not logged in!<br>";
}
?>


我想添加一个注销链接(登录时)和一个登录链接(未登录时)。我会使用html链接吗?如果是,我将如何合并它们?

取决于您希望在何处显示链接。如果它在同一页/同一段代码上,只需继续并回显它们:

<?php
global $user;
if ($user->uid > 0) {
   echo "You are logged in as: " . $user->name . "<br>";
   echo "<a href=\"logout.php\">Logout</a>";
} else {
   echo "You are not logged in!<br>";
   echo "<a href=\"login.php\">Login</a>";
}
?>

您只需使用Drupal core的url函数,如下所示

<?php
global $user;
if ($user->uid > 0) {
  echo '<a href="'.url('user/logout').'">Logout </a>';
} else {
  echo '<a href="'.url('user/login').'">Logout </a>';
}
?>


希望这对您有所帮助:)

在大多数情况下,您只需使用常规菜单并添加这两项即可

项目的可见性由drupals菜单系统控制,因此,如果您已经登录,您将看不到登录链接,如果您未登录,您将看不到注销链接

如果您想以编程方式输出链接,我建议使用

要检查用户是否已登录,只需使用用户模块提供的功能即可

因此,您的代码将成为

<?php
if( user_is_logged_in() ) {
  print l('logout', 'user/logout');
}
else {
  print l('login', 'user/login');
}
您应该使用
l()
函数创建链接,而不是自己编写html。您应该使用
l()
函数创建链接,而不是自己编写html。
<?php
if( user_is_logged_in() ) {
  print l('logout', 'user/logout');
}
else {
  print l('login', 'user/login');
}