• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

wylogowanie codeigniter

+1 głos
735 wizyt
pytanie zadane 26 września 2016 w PHP przez Abel Mądrala (5,140 p.)

A więc tak , zacząłem poznawać "codeigniter" powiedzmy że co nieco tam łapie .

Napisałem rejestracje i logowanie i to by było na tyle bo nie umiem się wylogować 

Sesja z jakiegoś powodu się nie czyści , niby po kliknięciu wyloguj przenosi mnie do strony logowania ale po kliknięciu "wstecz" na przeglądarce i odświeżeniu strony wraca wszystko jak z przed wylogowaniem

Nie wiem jak sobie z tym poradzić , napisałem w modelu 

public function logout()
	{
		session_destroy();
	    header( 'Location: register/');
	}

w kontrolerze mam 

if(isset($_POST['logout']))
			{
				$this->user_m->logout();
       		}

A na stronie jest submit 

<?php
	echo form_open();
    echo form_submit('submit','logout', 'Wyloguj');
    echo form_close();
?>

Ale ni jak nie chce to działać 

Próbowałem sprawdzać co jest w sesji ale jedyne co mam to 

["__ci_last_regenerate"]=> int(1474843242)

Wiem że są tutaj osoby które znają tego frameworka na wylot , był bym wdzięczne za naprowadzenie na prawidłowe skonstruowanie wylogowania się

komentarz 26 września 2016 przez Ehlert Ekspert (215,230 p.)

Pytanie na forum z PHP a pro pos jakiegoś frameworka heart

komentarz 26 września 2016 przez HaKIM Szeryf (87,590 p.)
Nie wiem czy to była ironia, ale powiem Ci szczerze, że wolę takie pytania z framework'ów niżeli te, jak nazywa to Efik, z spaghetti kod.
komentarz 26 września 2016 przez Ehlert Ekspert (215,230 p.)

To nie była ironia. Ekipa ninja powinna dodać kategorię 

@PHP

1 odpowiedź

0 głosów
odpowiedź 26 września 2016 przez HaKIM Szeryf (87,590 p.)

Przydałoby się wiedzieć, z której wersji CI korzystasz.

Anyway, sprawdź ten wątek:

~ [Szczegónie ten!] http://stackoverflow.com/questions/18423360/logout-in-codeigniter

~ http://stackoverflow.com/questions/8616887/logout-codeigniter

Kod ze stacka:

function logout()
{
    $user_data = $this->session->all_userdata();
        foreach ($user_data as $key => $value) {
            if ($key != 'session_id' && $key != 'ip_address' && $key != 'user_agent' && $key != 'last_activity') {
                $this->session->unset_userdata($key);
            }
        }
    $this->session->sess_destroy();
    redirect('default_controller');
}

Musisz unsetować każdą z sesji osobno. Albo, zrobić tak, jak ktoś wykombinował: Wpierdzielić to do foreach.

Chyba miałem podobne problemy z sesjami na CI...

komentarz 26 września 2016 przez Abel Mądrala (5,140 p.)
edycja 26 września 2016 przez Abel

korzystam z najnowszej jaka jest na dziś dostępna

Dopiero go poznaje , ciągle czytam na forach że framework to czy tamto niby jakie to super i w ogóle .To postanowiłem poznać co nieco jakiegoś a że tego nie trzeba instalować i powiedzmy wydawał się mało skomplikowany to sie za niego wziąłem

sprawdzę jak to zadziała , bo już naprawdę nie mam pomysłów a nie chce robić sesji tak jak w czystym PHP

EDIT

 

To nie działa 

Ale po lekturze stackoverflow dowiedziałem się że CI zapisuje sesje w Cookies

Wpadłem na pomysł żeby skasować te ciastka , sprawdzę czy to zda egzamin 

Ale już widzę problem bo dla przykładu IE w ogóle nie widzi $_COOKIE["PHPSESSID"] 

W chrome jest to widoczne ale nie w IE 

No i niestety skasowanie 

$_COOKIE["PHPSESSID"] 

oraz

$_COOKIE["ci_session"]

Nie przynosi efektu 

 

 

komentarz 26 września 2016 przez HaKIM Szeryf (87,590 p.)

Kolego, na dłuższą metę CI to strata czasu.

Przejdź na jakieś micro-frameworki, obczaj co i jak, następnie będziesz mógł z większym komfortem przejść na symfony.

Od siebie polecam z micro-framework'ów: Slim.

Ostrzegam: Przejście z CI na Symfony to jak przejście z malucha do ferrari.

FIRST OF ALL: Composer.

Nauka tego narzędzia to jakieś ~10 min. ale skubany ma moc jak Yoda w czasach świetności.

komentarz 26 września 2016 przez Abel Mądrala (5,140 p.)

Powiem ci że skłaniam się żeby to skasować z dysku po tylu niepowodzeniach przy tak błahej sprawie zastanawiam sięco będzie jak bym chciał coś poważniejszego w nim napisać 

Zaraz sprawdzę co to takiego ten Slim

Codeinteger podoba mi sie bo nie trzeba niczego instalować wystarczy skopiować pliki i po sprawie , zerknę na tego Slim , mam nadzieje że nie będzie z nim tylu problemów smiley

komentarz 26 września 2016 przez HaKIM Szeryf (87,590 p.)
Łap:

~ https://github.com/HaKIMus/slim-template

Wystarczy skonfigurować pod siebie i MVC gotowe. ; )

Podobne pytania

0 głosów
2 odpowiedzi 856 wizyt
0 głosów
2 odpowiedzi 1,388 wizyt
0 głosów
1 odpowiedź 467 wizyt
pytanie zadane 31 sierpnia 2016 w PHP przez mikra25 Użytkownik (580 p.)

93,800 zapytań

142,767 odpowiedzi

323,460 komentarzy

63,419 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Twierdza Linux. Bezpieczeństwo dla dociekliwych

Aby uzyskać rabat -10%, użyjcie kodu pasja-linux, wpisując go w specjalne pole w koszyku.

...