在用户登录的条件下(使用代码点火器),通过视图打印注销按钮



我一直在修改echo语句,以使我的注销按钮打印在我的头中(当用户登录时),但我一直收到这种性质的错误:

分析错误:语法错误,意外的T_ECHO,应为"、"或";"在第19行的/foarant/web/Project/application/views/_header.php中调用堆栈:0.0013 634608 1。{main}()/farrant/web/Project/index.php:0 0.0123 636728 2。require_eonce('/warrant/web/Project/system/core/CodeIgniter.php')/warrant/web/Project/index.php:202 0.1486 1025392 3。call_user_func_array()/流浪汉/web/Project/system/core/CodeIgniter.php:359 0.1486 1025528 4。Fp_controller->index()/流浪者/web/Project/system/core/CodeIgniter.php:00.1486 1025976 5。Viewlib->loadview()/流浪者/web/Project/application/controller/fp_controller.php:12 0.1487 1026192 6。CI_Loader->view()/farrant/web/Project/application/librarys/Viewlib.php:16 0.1487 1027600 7。CI_Loader->_CI_load()/farrant/web/Project/system/core/Loader.php:419

或者url会完全被搞砸(它会有"base_url();",而不是我在配置文件中声明的实际基本url名称。有人能帮我吗?

标题视图

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Final Project Incorporated</title>
</head>
<body>
<h1>Navigation:</h1>
<ul>
<li><a href="<?php echo base_url(); ?>fp_controller/index">Home</a></li>
<li><a href="<?php echo base_url(); ?>fp_controller/directory">Employee Directory</a></li>
<li><a href="<?php echo base_url(); ?>fp_controller/form">Add Employee Form</a></li>
<li><a href="<?php echo base_url(); ?>fp_controller/login">Login</a></li>
<?php 
if ($this->session->userdata('isLoggedIn')) {
Line 19>>>>              echo "<li>" . "<a href=" . "'" echo base_url();"'" .     "fp_controller/logout" . ">" . "Logout" . "</a>" . "</li>";
}
?>
</ul>
<hr />
</body>
</html>

您不能在php语句中放入echo,只需连接:

echo "<li>" . "<a href=" . "'".base_url()."'" ."fp_controller/logout" . ">" . "Logout" . "</a>" . "</li>";

你也可以使用site_url(),它负责url的构建:

echo '<li><a href="'.site_url('fp_controller/logout').'">Logout</a></li>";

另一种书写方式,使用缩写形式:

<?php if ($this->session->userdata('isLoggedIn')) : ?>
<li><a href="<?php echo site_url('fp_controller/logout');?>">Logout</a></li>
<?php endif;

通过这种方式,您可以通过转义引号等减少任何可能的错误,只需编写纯html并使用php作为模板引擎。就我个人而言,我发现这种方式更容易阅读,也不容易出错。

我在应用程序中使用的一个简单的注销示例。我假设您将使用数组名称$logged_in_user在会话中保存用户数据。

View:
<p class="user">Hello, <?php echo $logged_in_user['user_name'] ?> | <a href="<?php echo ROOT_FOLDER ?>/controller_name/logout_function_name">Logout</a></p>

Controller:
public function logout_function_name(){
$this->model_file_name->logout_function_name();
redirect("/controller_function_name/page_name_where_you_want_to_redirect");
}
Model:
public function logout()
{
$this->session->sess_destroy();
}

最新更新