If brugernavn = "" Then Response.Write "<p><font color=red>Indtast venligst dit brugernavn!</p></font>" fejl = true End If
If password = "" Then Response.Write "<p><font color=red>Indtast venligst dit password!</p></font>" fejl = true End If
If fejl = true Then Response.Write "<p><a href=java script:history.back()>Tilbage</a>" End If
If fejl <> true Then Set Conn = Server.CreateObject("ADODB.Connection") DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; " DSN = DSN & "DBQ=" & Server.MapPath ("database/ot_db.mdb")
Conn.Open DSN
Dim samletAntal
strSQL = "SELECT * FROM brugere WHERE brugernavn='" & brugernavn & "' and Password = '" & password & "'" Set rs = Conn.Execute(strSQL)
If Not rs.eof Then Response.Write "<p><b>Login godkendt!</b>" Response.Write "<p>Du er nu logget på som '" & rs("brugernavn") & "'</p>" Session("login") = true Session("brugernavn") = rs("brugernavn") Session("userid") = rs("id") Session("adminlevel") = rs("adminlevel")
Conn.Execute("UPDATE brugere SET sidste_login='" & Now & "' WHERE id=" & Session("userid"))
If request.form("save") = "on" then Response.Cookies("Brugere")("brugernavn") = session("brugernavn") Response.Cookies("Brugere")("password") = password Response.Cookies("Brugere").expires = Date+365 'Information gemmes i cookie i et år, hvis brugeren har valgt at gemme information Else Response.Cookies("Brugere").expires = Date-1000 'Information slettes ved at sætte "expires" 1000 dage tilbage, idet brugeren har valgt at slette information
End If
Else Response.Write "<p><font color=red>Du blev ikke logget ind! Du har muligvis indtastet forkert brugernavn eller password!</font></p>" Response.Write "<p><a href=java script:history.back()>Tilbage</a></p>" End If
Jeg har bare taget noget fra en login script jeg havde liggende.. så der er en masse andet med :D men det du skulle bruge er der... du skal bare gemme informationerene i en cookie
<input type="checkbox" name="husk" value="ja" border="0" onClick="return(confirm('OBS: Hvis du sidder ved en offentlig computer, netcafé el. lign., \nkan det ikke anbefales at bruge denne funktion'))"> husk mig
og i form/login-behandlingen:
if ($_POST['husk']=="ja") { setcookie ("brugernavn", "$brugernavnet", time()+31536000, "/"); // set cookie 365 dage setcookie ("kodeord", "$kodeordet", time()+31536000, "/"); } else { setcookie ("brugernavn", "$brugernavnet", 0, "/"); // set cookie 0 dage (slettes ved browserluk) setcookie ("kodeord", "$kodeordet", 0, "/"); }
<input type="checkbox" name="husk" value="ja" border="0" onClick="return(confirm('OBS: Hvis du sidder ved en offentlig computer, netcafé el. lign., \nkan det ikke anbefales at bruge denne funktion'))"> husk mig
ret til: session_start(); $_SESSION['logget_ind'] = 1; $_SESSION['nick'] = $post_nick; $_SESSION['password'] = $post_password; $_SESSION['mail'] = $row['mail']; $endag = time()+86400; if ($_POST['husk']=="ja") { setcookie ("brugernavn", "$post_nick", $endag*30, "/"); // set cookie 30 dage setcookie ("kodeord", "$post_password", $endag*30, "/"); } else { setcookie ("brugernavn", "$post_nick", 0, "/"); // set cookie 0 dage (slettes ved browserluk) setcookie ("kodeord", "$post_password", 0, "/"); } header("Location: index.php");
Jeg vil anbefale at du gemmer som md5-krypteret password overalt, både i DB, session og cookie (f.eks med md5($post_password) ), og sammenligner det kryptererede..: if ( md5($post_password) != $password_fra_db) { echo "forkert login"; }
det er fordi du selv skal lave et check om cookie er sat og om indholdet svarer til en bruger i databasen. hvis den gør det, laver du en session med værdierne (eller bruger cookie værdierne istedet for session)
som sagt, jeg er ikke ekspert mht. sessions, men... i toppen af hver fil (eller hvor du nu har brug for det) kan du skrive:
<?php include('config.php'); if ($_COOKIE['nick'] && $_COOKIE['password']) { $nick = $_COOKIE['nick']; $password = $_COOKIE['password']; $hent = @mysql_query("SELECT nick FROM brugere WHERE nick = '$nick' AND password = MD5('$password')"); $row = mysql_fetch_array($hent); $check = @mysql_num_rows($hent); if($check > 0) { echo "Du er logget ind som ".$row['nick']; } else { echo "Du er ikke logget ind [<a href=\"logind_siden.php\"><b>Log ind</a>]"; } } { echo "Du er ikke logget ind [<a href=\"logind_siden.php\"><b>Log ind</a>]"; } ?>
men ikke alle har sat deres browser til at accepterer cookies.. så du skal nok tilføje en sessionchecker. Så det blir f.eks:
<?php include('config.php'); if (($_COOKIE['nick'] && $_COOKIE['password']) || ($_SESSION['nick'] && $_SESSION['password'])) { $nick = $_COOKIE['nick']; $password = $_COOKIE['password']; $nick2 = $_SESSION['nick']; $password2 = $_SESSION['password']; $hent = @mysql_query("SELECT nick FROM brugere WHERE (nick = '$nick' AND password = MD5('$password')) || nick = '$nick2' AND password = MD5('$password2'))"); $row = mysql_fetch_array($hent); $check = @mysql_num_rows($hent);
if($check > 0) { echo "Du er logget ind som ".$row['nick']; } else { echo "Logind fejl [<a href=\"logind_siden.php\"><b>Log venligst ind igen</a>]"; } } { echo "Du er ikke logget ind [<a href=\"logind_siden.php\"><b>Log ind</a>]"; } ?>
jo der er en anden måde.. som kan anbefales. nemlig at du laver en include fil med checket. det er standardmetoden. men det er svært at gennemskue sammenhængen på din side.. SKAL man f.eks være logget ind for at siderne, eller må man gerne være gæst?
Jeg vil lige påpege at det sessions normalt er meget smarte, men det nok IKKE er en fidus at bruge i dette eksempel. Her skal bruge cookies. Sessions er derimod oplagte til at gemme ting, når brugeren surfer rundt på siden. Men så snart han lukker browseren risikires disse at slettes (afhængig af hvordan de er konfigureret).
kom med et gennemtænkt svar på hvorfor sessions er bedre (eller mere smarte) at bruge end cookies. alt for mange tager ord for givet bla. her på eksperten.
Jeg ser ingen grund til at favorisere sessions frem for cookies overhovedet.
hmm, ved nærmere eftertanke.. sessions kan også bruges uden cookies (med id i url), og ikke alle (færre og færre) har cookies sat til. så min sidste kommentar æder jeg igen. :)
jeg har prøvet at lave en logout til den så den sletter min cookie, login tingen virker fint :P og det er bare nice thx for det ku jeg godt bruge nu mangler jeg bare en logout jeg har den her <?php session_start(); $end = session_destroy(); setcookie("username", "0", "/"); if ($end) { header("Location: ?p=nyheder"); } else { echo "Du kunne ikke logges ud"; } ?>
men min cookie blir der stadig den logger ikke ud :'( plz help
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.