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(); } }
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
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.