Sk!ppy Skrevet 27. oktober 2010 Del Skrevet 27. oktober 2010 Hei, Endelig satt meg halveis inn i et rammeverk, codeigniter. Funker kjempeflott! Har et problem, jeg skal sette alle sessions inn i en tabell som heter sessions. Det funker også kjempefint, men problemet er når man logger inn igjen, for andre gang. (jeg burde slette session når jeg logger ut/den blir for gammel, men er forsatt litt usikker på den delen. Har altså bare laget registrer og login til nå). Får feilmelding om at den allerede eksisterer. Jeg setter inn i databasen sånn: $this->db->insert('sessions', $userdata_array); Og får duplicate_entry error når jeg prøver å sette inn. (Har satt det ene feltet til unique, men vil bare overskrive, men vet ikke hvordan). Noen tips? Lenke til kommentar
MikkelRev Skrevet 28. oktober 2010 Del Skrevet 28. oktober 2010 Har null peiling på rammeverk, codeigniter. Men kanskje du kan bruke ON DUPLICATE KEY UPDATE i spørringen din? Lenke til kommentar
BlueEAGLE Skrevet 28. oktober 2010 Del Skrevet 28. oktober 2010 Det er helt umulig å se alternativer uten at vi vet hva som er i userdataarray. Det jeg tenker, hvis dette er registrerte brukere du følge, er å binde sessjonsinformasjon mot brukerobjektet så omgår du hele problemet. Hvis dette er uregistrerte brukere så er forslaget til Mikkel en god løsning. Problemet er at du må inn i rammeverket og endre oppførselen til $this->db->insert()-funksjonen. Lenke til kommentar
Sk!ppy Skrevet 28. oktober 2010 Forfatter Del Skrevet 28. oktober 2010 Dette er ikke uregistrerte brukere. $userdata_array er bare en array som er session_id=>x, useragent, ip, last_active. Lenke til kommentar
Warz Skrevet 1. november 2010 Del Skrevet 1. november 2010 Bruk session klassen. Du kan skru på database der. Det er INGEN grunn til å gjøre dette manuelt sånn du gjør. Utklipp fra login // Set session $session = array( 'user_id' => $this->user_model->get_user_id($this->input->post('username')), 'username' => $this->input->post('username'), 'is_logged_in' => true ); $this->session->set_userdata($session); Utklipp fra logout $this->session->set_userdata('is_logged_in',FALSE); $this->session->unset_userdata('username'); $this->session->sess_destroy(); $this->message_model->success('You have been successfully logged out.'); Lenke til kommentar
Warz Skrevet 1. november 2010 Del Skrevet 1. november 2010 I config.php $config['sess_cookie_name'] = 'my_session'; $config['sess_expiration'] = 0; // Cookie never expires $config['sess_encrypt_cookie'] = FALSE; $config['sess_use_database'] = TRUE; $config['sess_table_name'] = 'my_sessions'; $config['sess_match_ip'] = FALSE; $config['sess_match_useragent'] = TRUE; $config['sess_time_to_update'] = 300; Lenke til kommentar
Sk!ppy Skrevet 1. november 2010 Forfatter Del Skrevet 1. november 2010 Det hjalp meg nok en del, takk Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå