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

codeigniter php

VPS Starter Arubacloud
0 głosów
300 wizyt
pytanie zadane 30 sierpnia 2018 w PHP przez JeyJey Użytkownik (710 p.)
edycja 30 sierpnia 2018 przez Arkadiusz Waluk

Hej mam taki problem, piszę stronkę w codeigniter doczhodzę do części logowania i mimo że wszystko jest napisane jak trzeba to nie działa....a dokładniej to ten debilny password_verify...oto kod:

Robiłem chyba już wszystko i nie działa nic!!!!!

public function login()
    {

        logged_in() == false || redirect( '/' );

        if ( !empty( $_POST ) )
        {

            if ( $this->form_validation->run( 'site_account_login' ) == true )
            {

                $email = $this->input->post( 'email' , true );
                $haslo = $this->input->post( 'haslo' , true );

                $where = array( 'email' => $email );
                $user = $this->Site_model->get_single( 'users' , $where );

                if ( !empty( $user ) )
                {

                    if ( password_verify( $haslo , $user->haslo ) == true )
                    {

                        // Czy użytkownik jest aktywny

                        if ( $user->active == 1 )
                        {

                            // Zalogowanie użytkownika

                            $data_login = array(
                                'id' => $user->id,
                                'email' => $user->email,
                                'logged_in' => true,
                            );
                            $this->session->set_userdata( $data_login );

                            $this->session->set_flashdata( 'alert' , 'Zalogowałeś się poprawnie.' );
                            redirect( '/' );

                        }
                        else
                        {
                            $this->session->set_flashdata( 'alert' , 'Musisz aktywować swoje konto.' );
                            refresh();
                        }

                    }
                    else
                    {
                        // Użytkownik podał błędne hasło dla podanego adresu email

                        $this->session->set_flashdata( 'alert' , 'Błędne hasło.' );
                        refresh();
                    }

                }
                else
                {
                    // Nie istnieje taki użytkownik

                    $this->session->set_flashdata( 'alert' , 'Użytkownik z podanym adresem email nie istnieje.' );
                    refresh();
                }

            }
            else
            {
                $this->session->set_flashdata( 'alert' , validation_errors() );
                refresh();
            }

        }

        $this->load->view( 'site/account/login' );
    }

}
komentarz 30 sierpnia 2018 przez OdsetekGlupoty Pasjonat (15,360 p.)
Kod umieść w bloczku i nie obrażaj biednego password_verify.
1
komentarz 30 sierpnia 2018 przez Ehlert Ekspert (213,860 p.)
To jest najnowsza wersja CodeIgnitera? To wygląda gorzej niż Symfony 1.5. Jeszcze ten charakterystyczny piramida code style.
komentarz 30 sierpnia 2018 przez JeyJey Użytkownik (710 p.)

@OdsetekGlupoty, Sory mam przez to nerwy, jak mam umieścić kod w bloczku?? może to być dziwne te pytanie, ale już mi się mózg lasuje od tego.

komentarz 31 sierpnia 2018 przez Gambr Dyskutant (7,530 p.)

@Ehlert, CI to framework, którego funkcje związane z HTML oraz sam silnik template nie mają wsparcia dla escapowania stringów więc XD 

1 odpowiedź

0 głosów
odpowiedź 31 sierpnia 2018 przez Ergo Proxy Użytkownik (640 p.)
Hehe ojoj, jak ty się w tym łapiesz. Takiej piramidy ifów dawno nie widziałem :P Potem ludzie mówią, że CI jest beznadziejny (a to mój najukochańszy framework ;)) :P Ogólnie przepisz sobie ten kod, bo w takiej plątaninie nie trudno się pogubić. Każde sprawdzenie wrzuć do osobnej funkcji. Np. sprawdzenie czy jest już użytkownik o takim mailu wrzuć do funkcji isEmailInDatabase (czy coś takiego). Wydziel sprawdzanie hasła, emailu (czy są zgodne z tym co jest w bazie danych). Jak sobei to podzielisz wszyscy co mozesz do osobnych funkcji to nagle zobaczysz, że potrzebujesz 1, góra 2 ifów do sprawdzenia ;)

Podobne pytania

0 głosów
0 odpowiedzi 254 wizyt
pytanie zadane 8 sierpnia 2018 w PHP przez JeyJey Użytkownik (710 p.)
0 głosów
2 odpowiedzi 206 wizyt
pytanie zadane 15 czerwca 2018 w SQL, bazy danych przez JeyJey Użytkownik (710 p.)
0 głosów
0 odpowiedzi 169 wizyt
pytanie zadane 16 lipca 2019 w PHP przez progNewbie Obywatel (1,130 p.)

92,963 zapytań

141,929 odpowiedzi

321,162 komentarzy

62,298 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.

Wprowadzenie do ITsec, tom 2

Można już zamawiać tom 2 książki "Wprowadzenie do bezpieczeństwa IT" - będzie to około 650 stron wiedzy o ITsec (17 rozdziałów, 14 autorów, kolorowy druk).

Planowana premiera: 30.09.2024, zaś planowana wysyłka nastąpi w drugim tygodniu października 2024.

Warto preorderować, tym bardziej, iż mamy dla Was kod: pasja (użyjcie go w koszyku), dzięki któremu uzyskamy dodatkowe 15% zniżki! Dziękujemy zaprzyjaźnionej ekipie Sekuraka za kod dla naszej Społeczności!

...