15. november 2007 - 19:07Der er
7 kommentarer og 1 løsning
Dobbelt login - hvorfor?
Jo altså, Nu har jeg efter noget tid lagt mærke til at jeg hver gang skal logge ind 2 gange inden min session bliver sat, og jeg vil sige at det er pga. følgene login/tidskode.
så hvis en havde tid til lige at kigge igennem og måske komme en idé til forbedringer? :)
Her er mit login.php: if($_GET[action] == "login"){ if($_POST[brugernavn] != "" && $_POST[kodeord] != ""){ $newpass = md5($_POST[kodeord]); $sql = mysql_query("SELECT * FROM ym_community WHERE brugernavn='$_POST[brugernavn]' AND adgangskode='$newpass' LIMIT 1") or die("Fejl: " . mysql_error()); if(mysql_num_rows($sql) == 1){ while($brugerLogin = mysql_fetch_assoc($sql)){ $_SESSION[brugernavn] = $brugerLogin[brugernavn]; ?> <table border="0" cellspacing="0" cellpadding="0" width="446" style="border:1px solid #000000; margin-bottom:5px"> <tr> <td align="center" height="35"><font color="green"><b>Du er blevet logget ind med succes!:)</b></font></td> </tr> </table> <? $time = explode(" ",microtime()); $array1 = $time[0]; $array2 = $time[1];
mysql_query("UPDATE ym_community SET time_date='$array2' WHERE ip LIKE '$ip'") or die("Fejl: " . mysql_error()); mysql_query("UPDATE ym_community SET site_status='online' WHERE ip LIKE '$ip'") or die("Fejl: " . mysql_error()); mysql_query("UPDATE ym_community SET last_login='$lastLogin' WHERE brugernavn='$_POST[brugernavn]'") or die("Fejl: " . mysql_error());
print "<script>document.location.href='index.php'</script>"; }}else{ print "Forkert brugernavn eller kodeord"; }}else{ print "Du skal udfylde alle felter :))"; }}
Oooog, her er det der opdaterer timetingen i header.php: $ip = $_SERVER[REMOTE_ADDR]; $time = explode(" ",microtime()); $array1 = $time[0]; $array2 = $time[1]; $r = mysql_fetch_row( mysql_query("SELECT * FROM ym_community WHERE ip LIKE '$ip' AND site_status='online'")); mysql_query("UPDATE ym_community SET site_status='offline' WHERE time_date < $array2 - 400") or die("Fejl: " . mysql_error()); mysql_query("UPDATE ym_community SET time_date='$array2' WHERE ip='$ip'") or die("Fejl: " . mysql_error()); $sql = mysql_query("SELECT * FROM ym_community where ip='$ip'") or die("Fejl: " . mysql_error()); while($onlineTjek = mysql_fetch_assoc($sql)){ if($onlineTjek[site_status] == "offline"){ session_destroy(); } }
Denne side indeholder artikler med forskellige perspektiver på Identity & Access Management i private og offentlige organisationer. Artiklerne behandler aktuelle IAM-emner og leveres af producenter, rådgivere og implementeringspartnere.
Jeg har fundet ud af at det _ikke_ er mit login der fejler, men derimod et stump kode i min header: <?php session_start(); include("db.php"); $ip = $_SERVER[REMOTE_ADDR]; $time = explode(" ",microtime()); $array1 = $time[0]; $array2 = $time[1]; $r = mysql_fetch_row( mysql_query("SELECT * FROM ym_community WHERE ip LIKE '$ip' AND site_status='online'")); mysql_query("UPDATE ym_community SET site_status='offline' WHERE time_date < $array2 - 400") or die("Fejl: " . mysql_error()); mysql_query("UPDATE ym_community SET time_date='$array2' WHERE ip='$ip'") or die("Fejl: " . mysql_error()); $sql = mysql_query("SELECT * FROM ym_community where ip='$ip'") or die("Fejl: " . mysql_error()); while($onlineTjek = mysql_fetch_assoc($sql)){ if($onlineTjek[site_status] == "offline"){ session_destroy(); } } ?>
Der er sikkert en meget bedre måde, som man kan opstille det på. Så hvis en ville hjælpe mig med at gøre det rigtigt, så ville jeg være taknemmelig :D
Det kom desværre aldrig til at virke.. Så lukker. Ellers mange tak for hjælpen
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.