Permalänk
Medlem

SESSION fråga?

Jag har en inlogg med SESSION (SESSION1) på en sida som funkar som den ska. Men nu har jag lagt till en chatt som har egen SESSION som måste aktiveras när jag loggat in med själva grundinloggen (alltså SESSION1).

Hur ska jag få den andra SESSION att kunna avslutas så att inte SESSION1 påverkas och även den stängs av? För jag vill kunna avsluta chat SESSION men ff vara kvar inloggad genom SESSION1?

Skickar kod till chat SESSION:

<?php session_start(); $nu = date('Y-m-d H:i'); $bort = date('Y-m-d H:i', time() - (60*60*2)); if (!isset($_SESSION['user'])) {$fel = "Du är inte inloggad!";} $losen = ""; // Här ändrar du lösenordet! $block = ""; // Blockerat användarnamn if (isset($_POST['namn']) && isset($_POST['pass1'])) { if (strtolower($_POST['namn']) == $block) {$_POST['namn'] = "";} if ($_POST['pass1'] === $losen && !$_POST['namn'] == "") { setcookie('nick', $_POST['namn'], time()+3600*24*7); $_SESSION['logg'] = true; $_SESSION['user'] = $_POST['namn']; $in = fopen("inlogg.txt","a"); fwrite($in, $nu. "|" .$_POST['namn']. "|\n"); fclose($in); header("Location: chat.php"); exit; } else {$fel = "Fel användarnamn eller lösenord!"; } } session_unset(); $data = file("inlogg.txt"); foreach ($data as $id=>$rad) { $fält = explode('|',$rad); $ltid = $fält[0]; $lnamn = $fält[1]; if ($lnamn == $_COOKIE['nick']) { $data[$id] = "";} if ($ltid < $bort) { $data[$id] = "";} $fd = fopen("inlogg.txt", "w"); fwrite($fd, implode('', $data)); fclose($fd); } $data = file("inlogg.txt"); $nr = count(file('inlogg.txt')); foreach($data as $rad) { $fält = explode("|",$rad); $ltid = $fält[0]; $lnamn = $fält[1]; $inlogg = $inlogg .$ltid . ' <b>'. $lnamn . '</b><br>'; } ?>

Det är den koden som ställer till det och gör att alla SESSIONS överallt slocknar typ..

Ursäktar mig för ev förvirrat språk, har varit uppe 24h snart..

EDIT: koden tar ju bort typ användare som är inloggade på chatten, och det vill jag ju ha kvar. Men som sagt, jag vill inte att huvudSESSION påverkas av det. För så fort jag byter sida från chattsidan (i min huvudinlogg på siten) så bryts SESSION, inte bara på chatten, utan på allt. Typ kill all there is!

Visa signatur

1 >> Intel i5-2500K | GA-P67A-UD5-B | Asus GTX 570 | G.SKILL 16Gb | Windows 7 pro | p183 v3 | LG L226WU-PF
2 >> AMD 64 x2 6400+ | Asus Crosshair | 8800GT 512Mb | Mushkin 4Gb | Vista 64 <> XP 32 | p182 | LG L226WU-PF
2 >> Fujitsu Lifebook | Intel i5-2450M | 4Gb | 300GB HD | GT 525M | Windows 7 pro

Permalänk
Medlem

Ta och googla lite på sessions. Du har raden "session_unset();" vilket dödar alla dina sessions. Jag är tämligen övertygad om att detta eller ett liknande kommando tar sessionen du vill döda som argument.

EDIT: Hur skiljer du föresten mellan dina två sessioner? Om båda är definierade med $_SESSION[var] = x så är det samma session och du får kolla på att ta bort delar av array´n istället.

Permalänk
Medlem

Tack för svaret Ska kolla vidare på det du sa om 'array'.

Visa signatur

1 >> Intel i5-2500K | GA-P67A-UD5-B | Asus GTX 570 | G.SKILL 16Gb | Windows 7 pro | p183 v3 | LG L226WU-PF
2 >> AMD 64 x2 6400+ | Asus Crosshair | 8800GT 512Mb | Mushkin 4Gb | Vista 64 <> XP 32 | p182 | LG L226WU-PF
2 >> Fujitsu Lifebook | Intel i5-2450M | 4Gb | 300GB HD | GT 525M | Windows 7 pro