24. juni 2003 - 19:30
Der er
12 kommentarer og 1 løsning
Skal tjeke om brugeren har valgt autologin.
Hej Jeg er i gang med at lave et bruger system hvor man kan vælge auto login. Jeg skal have en kode til at tjekke om personen har valgt autologin (Cookie) nogle der kan lave sådan en kode til mig? Jeg har selv prøvet men kan ikke få den til at virke (Har aldrig arbejdet med cookies før) $nick = $_COOKIE['nick']; $password = $_COOKIE['password']; if ($nick && $password) { $resultat = mysql_query("SELECT id, mail FROM brugere WHERE nick = '$nick' AND password=MD5('$password')"); $row = mysql_fetch_array($resultat); $number=mysql_num_rows($resultat); if($number == 1) { $_SESSION['logget_ind'] = 1; $_SESSION['nick'] = $nick; $_SESSION['mail'] = $row['mail']; } }
Annonceindlæg fra SuperOffice
Det var sådan :) $nick = $_COOKIE['nick']; $password = $_COOKIE['password']; if ($nick && $password) { $resultat = mysql_query("SELECT id, mail FROM brugere WHERE nick = '$nick' AND password=MD5('$password')"); $row = mysql_fetch_array($resultat); $number=mysql_num_rows($resultat); if($number == 1) { session_start(); $_SESSION['logget_ind'] = 1; $_SESSION['nick'] = $nick; $_SESSION['mail'] = $row['mail']; } }
Prøv med: session_start(); $nick = $_COOKIE['nick']; $password = $_COOKIE['password']; if (isset($nick) && isset($password)) { $resultat = mysql_query("SELECT id, mail FROM brugere WHERE nick = '$nick' AND password=MD5('$password')"); $row = mysql_fetch_array($resultat); $number = mysql_num_rows($resultat); if($number == "1") { $_SESSION['logget_ind'] = "1"; $_SESSION['nick'] = $nick; $_SESSION['mail'] = $row['mail']; } }
du kan vel bare lave en <input type=checkbox value=auto> og så når folk logger ind if($_POST[auto) { setcookie(dit_cookienavn,data,expire); } og der hvor du checker din login if ($_COOKIE[dit_cookienavn) { $resultat mysql_query("SELECT id, mail FROM brugere WHERE nick = '$_COOKIE[din_nick_cookie] AND password = MD5($_COOKIE[din_pass_cookie])"); } else { din normale sql
Sådan virker mine cookies: Sådan ser Login_ok.php ud når man er blevet godkendet til at blive logget ind: $_SESSION['logget_ind'] = 1; $_SESSION['nick'] = $post_nick; $_SESSION['mail'] = $row['mail']; $endag = (time()+86400)*365; // 365 dage if ($_POST['husk']=="ja") { setcookie ("nick", "$post_nick", $endag, "/"); setcookie ("password", "$post_password", $endag, "/"); } else { setcookie ("nick", "$post_nick", 0, "/"); // set cookie 0 dage (slettes ved browserluk) setcookie ("password", "$post_password", 0, "/"); } Logout.php: session_start(); setcookie("nick", "", time()-60*60*24); setcookie("password", "", time()-60*60*24); session_destroy();
Her er så min kode til at se om brugerne har cookies på computeren, Men jeg skal bruge en kode der virker :) <?php include('config.php'); session_start(); $nick = $_COOKIE['nick']; $password = $_COOKIE['password']; if (isset($nick) && isset($password)) { $resultat = mysql_query("SELECT id, mail FROM brugere WHERE nick = '$nick' AND password=MD5('$password')"); $row = mysql_fetch_array($resultat); $number = mysql_num_rows($resultat); if($number == "1") { $_SESSION['logget_ind'] = "1"; $_SESSION['nick'] = $nick; $_SESSION['mail'] = $row['mail']; } } if ($_SESSION['logget_ind'] == 1) { $login = '<a href="index.php">Vælg model</a> | <a href="java script:history.go(-1)">Tilbage</a> | <a href="java script:history.go(+1)">Frem</a> | <a href="regler.php">Regler</a> | <a href="sog.php">Søg</a> | <a href="stats.php">Statistik</a> | <a href="brugere.php">Brugere</a> | <a href="ret_pass.php">Ret password</a> | <a href="logout.php">Log ud</a> |'; } else { $login = '<a href="index.php">Vælg model</a> | <a href="java script:history.go(-1)">Tilbage</a> | <a href="java script:history.go(+1)">Frem</a> | <a href="regler.php">Regler</a> | <a href="opret.php">Opret</a> | <a href="send_pass.php">Glemt password</a> | <a href="login.php">Log ind</a> |'; } ?>
Login_ok.php: $_SESSION['logget_ind'] = 1; $_SESSION['nick'] = $post_nick; $_SESSION['mail'] = $row['mail']; $endag = (time()+86400)*365; // 365 dage if ($_POST['husk']=="ja") { setcookie ("nick", "$post_nick", $endag, "/"); setcookie ("password", "$post_password", $endag, "/"); } else { setcookie ("nick", "$post_nick", 0, "/"); // set cookie 0 dage (slettes ved browserluk) setcookie ("password", "$post_password", 0, "/"); }
ups! Login_ok.php: $_SESSION['logget_ind'] = 1; $_SESSION['nick'] = $post_nick; $_SESSION['mail'] = $row['mail']; $endag = (time()+86400)*365; // 365 dage if ($_POST['husk']=="ja") { setcookie ("nick", "$post_nick", $endag, "/"); setcookie ("password", "$post_password", $endag, "/"); } Hvad bruger du den else til? HVorfor sætter du en cookie? //Mathias
<?php include("config.php"); session_start(); $nick = $_COOKIE['nick']; $password = $_COOKIE['password']; if (isset($nick) && isset($password)) { $resultat = mysql_query("SELECT id, mail FROM brugere WHERE nick = '$nick' AND password=MD5('$password')"); $row = mysql_fetch_array($resultat); $number = mysql_num_rows($resultat); if($number == "1") { $_SESSION['logget_ind'] = "1"; $_SESSION['nick'] = $nick; $_SESSION['mail'] = $row['mail']; } } if ($_SESSION['logget_ind'] == "1") { $login = ' <a href=\"index.php\">Vælg model</a> | <a href=\"java script:history.go(-1)\">Tilbage</a> | <a href=\"java script:history.go(+1)\">Frem</a> | <a href=\"regler.php\">Regler</a> | <a href=\"sog.php\">Søg</a> | <a href=\"stats.php\">Statistik</a> | <a href=\"brugere.php\">Brugere</a> | <a href=\"ret_pass.php\">Ret password</a> | <a href=\"logout.php\">Log ud</a> | '; } else { $login = ' <a href=\"index.php\">Vælg model</a> | <a href=\"java script:history.go(-1)\">Tilbage</a> | <a href=\"java script:history.go(+1)\">Frem</a> | <a href=\"regler.php\">Regler</a> | <a href=\"opret.php\">Opret</a> | <a href=\"send_pass.php\">Glemt password</a> | <a href=\"login.php\">Log ind</a> | '; } ?> For du nogen fejl? //Mathias
24. juni 2003 - 20:04
#10
For = Får :-P
24. juni 2003 - 20:12
#11
Den vil ikke logge ordenligt ud når man er logget ud så tror den man er logget ind.....
25. juni 2003 - 09:57
#12
:0) Logout.php: session_start(); session_destroy(); echo "Du er logget ud!"; //Mathias
14. juli 2003 - 20:41
#13
Lukket!
Vi tilbyder markedets bedste kurser inden for webudvikling