Avatar billede mpj86 Nybegynder
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'];
}
}
Avatar billede mpj86 Nybegynder
24. juni 2003 - 19:31 #1
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'];
}
}
Avatar billede mathiash Nybegynder
24. juni 2003 - 19:46 #2
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'];
}
}
Avatar billede mathiash Nybegynder
24. juni 2003 - 19:47 #3
Får du nogen fejl?
Avatar billede martinbk Nybegynder
24. juni 2003 - 19:49 #4
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
Avatar billede mpj86 Nybegynder
24. juni 2003 - 19:57 #5
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();
Avatar billede mpj86 Nybegynder
24. juni 2003 - 19:59 #6
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> |';
}
?>
Avatar billede mathiash Nybegynder
24. juni 2003 - 19:59 #7
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, "/");
    }
Avatar billede mathiash Nybegynder
24. juni 2003 - 19:59 #8
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
Avatar billede mathiash Nybegynder
24. juni 2003 - 20:03 #9
<?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
Avatar billede mathiash Nybegynder
24. juni 2003 - 20:04 #10
For = Får :-P
Avatar billede mpj86 Nybegynder
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.....
Avatar billede mathiash Nybegynder
25. juni 2003 - 09:57 #12
:0)
Logout.php:

session_start();
session_destroy();
echo "Du er logget ud!";

//Mathias
Avatar billede mpj86 Nybegynder
14. juli 2003 - 20:41 #13
Lukket!
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester