Pracuję z plikiem konfiguracyjnym, który utworzyłem, aby przechowywać użytkowników. To na pewno nie było to, do czego konfiguracje były przeznaczone, ale jest to bardzo mała aplikacja i myślę, że byłoby to miłe rozwiązanie.Napisz tablicę do konfiguracji w Codeigniter?
Moja tablica wygląda następująco:
$config['users'] = array(array('username' => 'username', 'password' => 'password'));
Działa to dobrze. Mogę odzyskać informacje szybko i łatwo. Ale, jeśli staram się napisać nową tablicę (Nowy użytkownik) do pliku konfiguracyjnego otrzymuję ten błąd: Nielegalne przesunięcie typu w isset lub pusty
Używam $this->config->item('users', array('username' =>....))
który nie wydaje się wspierać tablic.
Jak mogę napisać tablice do mojej zmiennej konfiguracyjnej? Czy istnieje inny sposób?
EDYCJA: W porządku, błąd został naprawiony dzięki odpowiedzi udzielonej przez phirschy. Byłem tak pewien w mojej głowie, że mogłem użyć config-> item(), że nie sprawdzałem instrukcji dla config-> set_item() ... ALE, nadal nie działa. Oto specyficzny kod:
$users = $this->config->item('users');
array_push($users, array('username' => $this->input->post('username'), 'password' => $this->input->post('password')));
$this->config->set_item('users', json_encode($users));
echo json_encode($users);
Kod ten jest nazywany przez Ajax i mam powiadomienie pole, aby sprawdzić, czy wartości są prawidłowe. Oni są. I jak widać, próbowałem przechowywać go jako json zamiast tablicy również ... ale to też nie działa. Prosimy o pomoc?
dziękuję
Cokolwiek zakres aplikacji, bym nadal odradzam pomocą pliku konfiguracyjnego do przechowywania nazw użytkowników i haseł. Bezpieczeństwo jest tutaj znacznie większym problemem niż rozmiar. To powiedziawszy, jeśli nadal chcesz użyć pliku konfiguracyjnego, po prostu upewnij się, że nie przechowujesz haseł w postaci zwykłego tekstu i ustawiłeś odpowiednie uprawnienia do pliku konfiguracyjnego. – BoltClock
Będę, nie martw się. :) Częściowo dlatego, że nie mam pojęcia, jak to zrobić inaczej. Mogę to zrobić za pomocą MySQL, ale nigdy wcześniej nie pracowałem z pamięcią masową i nie chcę angażować bazy danych. –