2014-09-17 2 views
0

Я использую CodeIgniter и имею систему входа в систему. Я все еще довольно новичок в php, и мне интересно, как пользователь вошел в систему, как я могу получить доступ к его/ее данным для использования на всех сайтах? Прямо сейчас я пытаюсь заставить его приветствовать «имя пользователя», но я не знаю, откуда взялись переменные и как я должен их использовать. Сейчас в моем home_view.php у меня есть:Как я могу получить доступ к данным в моей базе данных? - CodeIgniter

<div class="main"> 
    <h2>Welcome <?php echo $username; ?>!</h2> 
</div> 

Он бросает эту ошибку:

A PHP Error was encountered 

Severity: Notice 

Message: Undefined variable: username 

Filename: views/home_view.php 

Line Number: 22 

Может кто-нибудь сказать мне, как это сделать?

+0

Вы читали инструкцию?Я настоятельно рекомендую вам ознакомиться с учебным пособием. Это поможет вам ознакомиться с основами извлечения и установки данных в/из базы данных и отобразить их в виде: https://ellislab.com/codeigniter/user-guide/tutorial/index.html –

+1

. Вы также можете рассмотреть возможность работы с просто основы PHP (без фреймворка), поэтому вы получаете хорошее понимание синтаксиса PHP и таких, прежде чем переходить в структуру, такую ​​как CodeIgniter. Поскольку ваш вопрос стоит прямо сейчас, он слишком широк, поскольку вы в основном спрашиваете, как использовать CodeIgniter. –

ответ

1

Question: How do you access a logged-in user's data for use throughout the site?

Зарегистрированные пользовательские данные обычно хранятся в сеансе. Для codeigniter вы можете получить доступ к данным сеанса, используя $this->session->userdata('item'); или, например, $this->session->userdata('username');.

Однако, если вы используете определенную систему входа в систему , это зависит от системы входа, которую вы используете.


заказ Войти Система

После получения регистрационной информации из формы входа в систему, передать данные в сессии, используя следующие:

$newdata = array(
        'username' => 'johndoe', 
        'email'  => '[email protected]', 
        'logged_in' => TRUE 
       ); 

$this->session->set_userdata($newdata); 

Затем обратитесь к имени пользователя с следующие:

$this->session->userdata('username'); 

Se e Adding Custom Session Data в документации Codeigniter.


Войти Пример системы

Популярная библиотека аутентификации codeigntier является Tank-Auth.

При использовании Tank-Auth после входа в систему вы можете позвонить по телефону $this->tank_auth->get_username() (который вызывает $this->ci->session->userdata('username'), как указано выше). Затем это можно сохранить и передать в представление.

В Tank-Auth вы увидите:

приложение/контроллер/welcome.php

$data['user_id'] = $this->tank_auth->get_user_id(); 
$data['username'] = $this->tank_auth->get_username(); 
$this->load->view('welcome', $data); 

приложение/просмотров/welcome.php

Hi, <strong><?php echo $username; ?></strong>! You are logged in now. 
0

нормально, когда пользователь вошел в систему вам нужно сохранить свои данные на сеанс. , когда вы подтверждаете, что пользователь получает свои данные и сохраняет их в сеансе.

$data = array(
        'username' => 'johndoe', 
        'email'  => '[email protected]', 
        'logged_in' => TRUE 
       ); 

$this->session->set_userdata('logged_info', $data); 

, а затем вы можете получить его в любом месте, как

$userdata = $this->session->userdata('logged_info'); 
+0

Этот вопрос был дан ответ несколько часов назад, не так ли? – CarlosAS

Смежные вопросы