27. september 2006 - 20:01
Der er
17 kommentarer
Husk funktion hjælp.
Hejsa, vil hører om nogle af jer herinde kunne hjælpe mig med at lave en Husk funktion til et login script. ? På forhånd tak.
Annonceindlæg fra SoftwareOne
27. september 2006 - 20:20
#1
Princippet er, at man opretter en checkbox. Når personen så logger ind, tjekker du om checkboxen er markeret, og er den det, opretter du en cookie. Hver gang personen så besøger din side, tjekker du om han har en "login-cookie", og har han det, logger du ham automatisk ind.
27. september 2006 - 20:22
#2
hvor opretter man ikke cookie, og hvordan hvordan tjekker man om han har cookien ?
27. september 2006 - 20:26
#4
hvordan tjekker jeg om der er tryds i tjekboksen?
27. september 2006 - 20:27
#5
jeg forstår ikke det med de cookies, kan i ikke vise mig hvordan man sætter en, hvis der er sat kryds, og hvordan man henter den igen?
27. september 2006 - 20:29
#6
Har du læst linket, eller gider du ikke? Det kræver jo en smule basis php-viden. Du sender checkboxen med i din form med method=post eller get. Så tjekker du med: if(isset($_POST['checkboxnavn']) && $_GET['checkboxnavn'] == "checkboxensvalue") { //her sætter du din cookie }
27. september 2006 - 20:39
#7
jeg har læst linket, men er ikke god til php og slet ikke engelsk. desværre. Hmm jeg forstår ikke hvad du mener med det der? kan du tilføje det hvis jeg smider mit script? :). log.php: <form action="login.php" method="post"> Brugernavn<br> <input type="text" name="brugernavn"><br> Password<br> <input type="password" name="password"><br> <input type="submit" value="Login"> </form> Login.php: <? session_start(); include("sql/db_ind.inc"); $brugernavn = $_REQUEST['brugernavn']; $password = $_REQUEST['password']; $result = mysql_query("SELECT * FROM login4 WHERE brugernavn='$brugernavn' AND password='$password'"); if (mysql_num_rows($result) == "0") { echo("FEJL!"); } else { $r = mysql_fetch_array($result); $_SESSION["s_navn"] = $r["brugernavn"]; $_SESSION["s_rang"] = $r["rank"]; $_SESSION["s_id"] = $r["id"]; $_SESSION["s_klan"] = $r["klan"]; $result2 = mysql_query("SELECT * FROM klanmedlemmer WHERE medlem='$_SESSION[s_id]'"); $r = mysql_fetch_array($result2); $_SESSION["s_klanid"] = $r2["klan"]; echo "<script language=javascript>document.URL='news-sys.php?id=$_SESSION[s_id]';</script>"; } ?>
27. september 2006 - 21:45
#8
Nu har jeg lige prøvet noget, som du kan prøve og teste. Det er utestet herfra. log.php: <? session_start(); if(isset($_COOKIE['brugernavn']) && !empty($_COOKIE['brugernavn']) && isset($_COOKIE['adgangskode']) && !empty($_COOKIE['adgangskode'])) { header("Location: logindo.php"); } ?> <form action="login.php" method="post"> Brugernavn<br> <input type="text" name="brugernavn"><br> Password<br> <input type="password" name="password"><br> <input type='checkbox' name='huskMig' value='1'>Husk mig.<br /> <input type="submit" value="Login"> </form> <? session_start(); include("sql/db_ind.inc"); $brugernavn = $_POST['brugernavn']; $password = $_POST['password']; $result = mysql_query("SELECT * FROM login4 WHERE brugernavn='$brugernavn' AND password='$password'"); if (mysql_num_rows($result) == 0) { echo("FEJL!"); } else { $r = mysql_fetch_array($result); $_SESSION["s_navn"] = $r["brugernavn"]; $_SESSION["s_rang"] = $r["rank"]; $_SESSION["s_id"] = $r["id"]; $_SESSION["s_klan"] = $r["klan"]; $result2 = mysql_query("SELECT * FROM klanmedlemmer WHERE medlem='".$_SESSION['s_id']."'"); $r = mysql_fetch_array($result2); $_SESSION["s_klanid"] = $r2["klan"]; if(isset($_POST['huskMig']) && $_POST['huskMig'] == 1) { setcookie("brugernavn", $r['brugernavn'], time()+604800); setcookie("adgangskode", $password, time()+604800); } echo "<script language=javascript>document.URL='news-sys.php?id=$_SESSION[s_id]';</script>"; } ?> logindo.php: <? session_start(); if(isset($_COOKIE['brugernavn']) && !empty($_COOKIE['brugernavn']) && isset($_COOKIE['adgangskode']) && !empty($_COOKIE['adgangskode'])) { $result = mysql_query("SELECT * FROM login4 WHERE brugernavn='".$_COOKIE['brugernavn']."' AND password='".$_COOKIE['password']."'"); if (mysql_num_rows($result) == 0) { echo("FEJL!"); } else { $r = mysql_fetch_array($result); $_SESSION["s_navn"] = $r["brugernavn"]; $_SESSION["s_rang"] = $r["rank"]; $_SESSION["s_id"] = $r["id"]; $_SESSION["s_klan"] = $r["klan"]; $result2 = mysql_query("SELECT * FROM klanmedlemmer WHERE medlem='".$_SESSION['s_id']."'"); $r = mysql_fetch_array($result2); $_SESSION["s_klanid"] = $r2["klan"]; setcookie("brugernavn", $r['brugernavn'], time()+604800); setcookie("adgangskode", $_COOKIE['password'], time()+604800); echo "<script language=javascript>document.URL='news-sys.php?id=$_SESSION[s_id]';</script>"; } ?>
27. september 2006 - 21:52
#9
det forstår jeg ikke, hvorfor er den 2 sider?
27. september 2006 - 21:54
#10
Det er fordi jeg synes det er den mest overskuelige måde at gøre det på...
27. september 2006 - 21:56
#11
og: <? session_start(); if(isset($_COOKIE['brugernavn']) && !empty($_COOKIE['brugernavn']) && isset($_COOKIE['adgangskode']) && !empty($_COOKIE['adgangskode'])) { $result = mysql_query("SELECT * FROM login4 WHERE brugernavn='".$_COOKIE['brugernavn']."' AND password='".$_COOKIE['password']."'"); if (mysql_num_rows($result) == 0) { echo("FEJL!"); } else { $r = mysql_fetch_array($result); $_SESSION["s_navn"] = $r["brugernavn"]; $_SESSION["s_rang"] = $r["rank"]; $_SESSION["s_id"] = $r["id"]; $_SESSION["s_klan"] = $r["klan"]; $result2 = mysql_query("SELECT * FROM klanmedlemmer WHERE medlem='".$_SESSION['s_id']."'"); $r = mysql_fetch_array($result2); $_SESSION["s_klanid"] = $r2["klan"]; setcookie("brugernavn", $r['brugernavn'], time()+604800); setcookie("adgangskode", $_COOKIE['password'], time()+604800); echo "<script language=javascript>document.URL='news-sys.php?id=$_SESSION[s_id]';</script>"; } ?> Virker ikke.
27. september 2006 - 21:57
#12
Det konstaterer du så meget præcist. Hvad sker der/sker der ikke? Det er jo hjælp til selv-hjælp her på eksperten.
27. september 2006 - 22:00
#13
Den bliver ikke lukket ordenligt.
27. september 2006 - 22:04
#14
Nej okey, der mangler vist en } lige før ?>
27. september 2006 - 22:06
#15
så vider den bare en hvid side.
27. september 2006 - 22:23
#16
Så er det fordi de cookies ikke bliver sat. Så må du jo finde ud af hvorfor. Bliver de sat, når du logger ind og har klikket "husk mig"? Og filen logindo.php er ikke som sådan en fil du bare skal køre. Den "kører sig selv".
28. september 2006 - 13:44
#17
hvad mener du ?
Vi tilbyder markedets bedste kurser inden for webudvikling