anonīms Posted October 14, 2009 Author Report Share Posted October 14, 2009 Jā, tagad strādā, vēl tikai mazs sīkums... kā man izvilkt lietotāja datus? select from where kkas = $kkas? ko ņemt tajā kkas? kā sapratu, tad saltu nedrīkst Quote Link to comment Share on other sites More sharing options...
Aleksejs Posted October 14, 2009 Report Share Posted October 14, 2009 Pēc uid Quote Link to comment Share on other sites More sharing options...
anonīms Posted October 14, 2009 Author Report Share Posted October 14, 2009 un kā man to uid iegūt? ja pašlaik tiek izmantots function checkLogin(){ if(isset($_COOKIE['MWCUPS-AUTH'])){ $result = checktoken($_COOKIE['MWCUPS-AUTH'],$user_data); if(7==$result){ return true; exit(); } } } jo reāli sanāk, ka tas id taču nemētājas nekur pa gaisu (ne sesijā, ne cepumā) Quote Link to comment Share on other sites More sharing options...
Aleksejs Posted October 14, 2009 Report Share Posted October 14, 2009 $user_data[0] ir uid Tavā kodā 73. rindiņā: $data=$uid.','.bin2hex($parole) .','.intval($autorenew).','.intval($expire). ','.ip2long($_SERVER['REMOTE_ADDR']) . ',' . bin2hex($info);//info - papildus mainīgie utt, kas jāsaglabā no vienas lapas uz otru Quote Link to comment Share on other sites More sharing options...
anonīms Posted October 14, 2009 Author Report Share Posted October 14, 2009 (edited) $user_data neko neatgriež. echo $user_data[0] tukšs, print_r ar neko nerāda. EDIT: tagad ieraudzīju tavu editu. dodos skatīties /!\ Nu jā uid, bet vaitad viņš nedarbojas tika tajā post laikā, jo izmantots jau tiek tikai tad, kad tiek padots caur funkciju fja(uid) Edited October 14, 2009 by anonīms Quote Link to comment Share on other sites More sharing options...
anonīms Posted October 14, 2009 Author Report Share Posted October 14, 2009 (edited) /!\ Nu jā uid, bet vaitad viņš nedarbojas tika tajā post laikā, jo izmantots jau tiek tikai tad, kad tiek padots caur funkciju fja(uid) EDIT: gan $_POST, gan $user_data print_r ir tukši Edited October 14, 2009 by anonīms Quote Link to comment Share on other sites More sharing options...
Aleksejs Posted October 14, 2009 Report Share Posted October 14, 2009 masīvs $user_data pēc būtības domāts kā tāds $_SESSION aizvietotājs. Ko tu tālāk savā aplikācijā ar to dari un kā izmanto jau ir tava bēda. :) To katru reizi iegūst no cookie - līdz ar to tas ir pieejams visur, kur tiek izmantots check_token(); $user_data[0] == lietotāja ID $user_data[1] == parole $user_data[2] == autorenew - vai katru reizi pagarināt derīguma termiņu $user_data[3] == derīguma termiņš - datums/laiks, līdz kuram derīgs šis autentifikators $user_data[4] == klienta IP adrese - vari izmantot, lai konstatētu, ka ir mainījusies IP adrese. $user_data[5] == info - serializēti dati, kuri tev vēl vajadzīgi, lai tiktu saglabāti / nav obligāts $user_data[6] == kontrolsumma iepriekšējiem 6 elementiem. edit: Savā skriptā Tu $user_data neredzi, jo tas ir ieslēpts funkcijā checkLogin(). Tev vajag to definēt kā globālo mainīgo, vai arī padot "by reference" checkLogin funkcijai. Quote Link to comment Share on other sites More sharing options...
anonīms Posted October 14, 2009 Author Report Share Posted October 14, 2009 (edited) Ok, skaidrs. Bet varbūt vari pateikt kapēc print_r($user_data); strādā tikai iekšs checklogin() fjas? iemetot jebkur citur rāda, ka viņš ir tukšs... EDIT: aizmirsti ko teicu :) iemetu $result = checktoken($_COOKIE['MWCUPS-AUTH'],$user_data); if(7==$result){ print_r($user_data); } index failā un tagad viss strādā perfekti Edited October 14, 2009 by anonīms Quote Link to comment Share on other sites More sharing options...
Aleksejs Posted October 14, 2009 Report Share Posted October 14, 2009 Kā jau ieeditēju - "variable scope" ;) Paskaties, kā ar to tiek galā funkcija check_token ;) Quote Link to comment Share on other sites More sharing options...
Aleksejs Posted October 14, 2009 Report Share Posted October 14, 2009 Vienīgi nomaini gan rindas, kurās teikts NOMAINĪT OBLIGĀTI! $key = pack('H*','86b6de905bbee18b3425f7e5974c1cad7e24ec06a707a2766c5988c20ebc7337');//šī ir slepenā šifrēšanas atslēga HEX formā, NOMAINĪT OBLIGĀTI!!!! $hmac_key = pack('H*','8412789462918462123861789234612378964123763412781273467252347564735');//šī ir slepenā HMAC atslēga. NOMAINĪT OBLIGĀTI!!!! Quote Link to comment Share on other sites More sharing options...
anonīms Posted October 14, 2009 Author Report Share Posted October 14, 2009 vēl pavisam pēdējā lieta, kas vispār nav saistīta ar šo tēmu if($_GET['d'] == 'iziet') { $result = checktoken($_COOKIE['MWCUPS-AUTH'],$user_data); if(7==$result){ } if(!$ielogojies) { header('location: ?'); } else { mysql_query("UPDATE ".PREFIX."lietotaji SET online = '' WHERE id = '".$user_data['0']."'") or die(mysql_error()); $_SESSION = array(); // reset session array session_destroy(); // destroy session. setcookie('MWCUPS-AUTH','',1); header('location: ?'); } } kapēc neuztaisāis apdeits online = '' ? pārbaudīju ar echo - viss ir ideāli. errori ar nemetas, jo pēc tā koda viss pārējais iet Quote Link to comment Share on other sites More sharing options...
Aleksejs Posted October 14, 2009 Report Share Posted October 14, 2009 Kur dabū mainīgo $ielogojies? Quote Link to comment Share on other sites More sharing options...
anonīms Posted October 14, 2009 Author Report Share Posted October 14, 2009 aizmirsti :D muļķis ieliku iziet pirms update online = time. sanāca, ka izdzēsu online un tad atkal ieliku patreizējo laiku. Kr4, paldies par autorizāciju :] viss iet ideāli. vismaz pagaidām Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.