Avatar billede www.duzer.dk Nybegynder
23. september 2003 - 21:07 Der er 20 kommentarer og
1 løsning

Autologin (php)

Hej eksperter(!)
Jeg håber i kan "lære" mig hvordan jeg sakl bære mig ad med at få lavet autologin.

Jeg bruger session til mit loginsystem, men jeg skal have lavet sådan så man kan sætte den til automatisk at logge ind.

Hvordan kan jeg gøre det... har prøvet med cookie, men det går ikke godt for mig.

Håber i kan hjælpe.
Avatar billede ztyxx Nybegynder
23. september 2003 - 21:10 #1
kode vil hjælpe...
Avatar billede www.duzer.dk Nybegynder
23. september 2003 - 21:17 #2
okey.. finder lige et stykke kode
Avatar billede www.duzer.dk Nybegynder
23. september 2003 - 21:18 #3
Sådan her ser min kode ud :


<?
session_destroy();
if($login){
$brugernavn = strtolower($brugernavn);
$kodeord = strtolower($kodeord);

$kodeord = md5($kodeord);
$check = mysql_fetch_array(mysql_query("SELECT * FROM netport_brugere where brugernavn = '$brugernavn' && kodeord = '$kodeord'"));
$check[brugernavn] = strtolower($check[brugernavn]);
if($brugernavn == $check[brugernavn] && $kodeord == $check[kodeord]){
$brugerid = $check[brugerid];
$logintid = time();
        @session_register('brugerid');
        @session_register('brugernavn');
        @session_register('kodeord');
        @session_register('logintid');
mysql_query("UPDATE netport_brugere set logintid = '$logintid' WHERE brugerid = '$brugerid'") or die(mysql_error());
print "- Logger ind.. vent venligst";
?><script langugage='javascript'>
        parent.document.getElementById('loginform').style.visibility = 'hidden';
        parent.document.getElementById('billede').src = 'pic/image1.gif';
        parent.document.getElementById('menu').innerHTML = "&nbsp;<b><a href=\"java script:go('loginok','image1.gif');\" onMouseOver=\"post('hidden');\">Velkommen</a> - <a href=\"java script:go('nyheder','image4.gif');\" onMouseOver=\"post('hidden');\">Nyheder</a> - <a href=\"java script:winBRopen('chat/index.php?rumid=1','tjadtown','756','430','no');\" onMouseOver=\"post('hidden');\">Åben Chatten</a> - <a href=\"#\" onMouseOver=\"post('visible');\">Post</a> - <a href=\"java script:go('info','image2.gif');\" onMouseOver=\"post('hidden');\">Information</a> - <a href=\"java script:go('logud','image4.gif');\" onMouseOver=\"post('hidden');\">Logud</a></b>";

    location.replace('inc.php?inc=loginok');
    </script><?
exit;
} else { $text = 'Forkert brugernavn eller kodeord<br>'; }
  }
?>


<form method="POST" action="?inc=login"  onsubmit="parent.document.getElementById('load').style.visibility = 'visible';">
<font class="overskrift">Login</font><BR>
<?=$text?>
Brugernavn :<BR>
<input type="text" name="brugernavn" class="felt" size="25"><BR>
Kodeord :<BR>
<input type="password" name="kodeord" class="felt" size="25"><BR>
<input type="submit" value="Login" name="login" style="font-family: Verdana; font-size: 10 px">
<hr style="border-bottom: 1px dashed #5E5E5E" size="0">
<font class="overskrift">
Glemt kodeord<img border="0" src="pic/spm.gif" align="right" width="50" height="60"></font><BR>
Har du glemt dit kodeord, kan du få et nyt tilsendt her.<BR><BR>Det foregår sådan at du får at nyt kodeord som du så kan bruge til at logge ind og evt. ændre din kode.<BR><BR>Vi har ikke mulighed for at se dit kodeord, og kan derfor ikke sende dig det kodeord du har.
</form>
<form method="POST" action="?">
Indtast dit brugernavn her :<BR>
<input type="text" name="brugernavn" class="felt" size="25"><BR>
...og e-mail her:
<input type="text" name="brugernavn" class="felt" size="25"><BR>
<input type="submit" value="Send" name="B1" style="font-family: Verdana; font-size: 10 px">
</form>


<script>parent.document.getElementById('load').style.visibility = 'hidden';</script>
Avatar billede www.duzer.dk Nybegynder
23. september 2003 - 21:19 #4
Men det behøves ikke sættes ind i denne kode...

- Jeg ville faktisk helst have hvis der var en der kunne lave en loginsystem med autologin, og som brugte session.. et let og overskueligt loginsystem
Avatar billede ztyxx Nybegynder
23. september 2003 - 21:23 #5
www.sukos.dk har login-scripts du kan lure kode fra
Avatar billede www.duzer.dk Nybegynder
23. september 2003 - 21:24 #6
Jeg kan ikke komme ind på siden :/

- Den er nok nede.. kigger på den senere.. eller i morgen så..
Avatar billede ztyxx Nybegynder
23. september 2003 - 21:25 #7
okay ;-)
Avatar billede sukos Juniormester
23. september 2003 - 22:45 #8
yeahh, sukos.dk kommer ikke til live igen! sorry!
Men jeg "lever livet videre" på www.showsource.dk

Og her er netop blevet lavet så man kan uploade til spm her på eksperten, så jeg har lige lagt det ud! :O) altså det der autologin-script.
Er dog ikke noget jeg umiddelbart vil anbefale, der skal lige kodes lidt mere for at det er mere sikkert. Men ok, der bruges heller ikke nogen DB ved login.

Scriptet ligger her:
http://exp.showsource.dk/404826/autologind.zip
Avatar billede www.duzer.dk Nybegynder
24. september 2003 - 21:20 #9
hmm jeg har nu prøvet at bikse noget sammen.. men jeg syntes ikke rigtigt at den rigistrere COOKIE'sne





<?PHP
include("../db.php");

//Sletter en evt session
session_start();
session_destroy();

//kryptere kodeordet
$_POST[kodeord] = strtolower($_POST[kodeord]);
$_POST[kodeord] = md5($_POST[kodeord]);

//tjekker brugernavn
$t_b = mysql_fetch_array(mysql_query("SELECT * FROM netport_brugere where brugernavn = '$_POST[brugernavn]'"));
$t_k = mysql_fetch_array(mysql_query("SELECT * FROM netport_brugere where brugernavn = '$_POST[brugernavn]' && kodeord = '$_POST[kodeord]'"));

if(empty($brugernavn) || $t_b[brugernavn] != $_POST[brugernavn]){
print "<script>alert('Brugernavnet findes ikke\\nHusk der er forskel på store og små bogstaver i brugernavnet');history.go(-1);</script>";

} else if($t_k[kodeord] != $_POST[kodeord]) {
print "<script>alert('Forkert Kodeord');history.go(-1);</script>";

} else if($t_b[brugernavn] == $_POST[brugernavn] && $t_k[kodeord] == $_POST[kodeord]){

    $autologin = "autologin";
    $brugerid = $t_k['brugerid'];
    $brugernavn = $t_k['brugernavn'];
    $kodeord = $t_k['kodeord'];

    if($_POST[autologin] == TRUE){
    setcookie("autologin", "$autologin", time()+3600);
    setcookie("brugerid", "$brugerid", time()+3600);
    setcookie("brugernavn", "$brugernavn", time()+3600);
    setcookie("kodeord", "$kodeord", time()+3600);
    print "<script>alert('Autologin er sat til\\nØnsker du at slå det fra, skal du blot logge ud!');</script>";
    }

print "vent Venligst... Logger ind...";

@session_register('brugerid');
@session_register('brugernavn');
@session_register('kodeord');


print "<script>location.replace('http://localhost/tjad/$_POST[backto]');</script>";
} else {

print "Fejl - Kontakt webmaster";
}
?>
Avatar billede www.duzer.dk Nybegynder
24. september 2003 - 21:21 #10
Kan i finde nogen fejl i koden ??
den kommer ikke med nogle fejl meldinger
Avatar billede www.duzer.dk Nybegynder
29. september 2003 - 19:02 #11
Hmm er i gået døde ?
Avatar billede sukos Juniormester
30. september 2003 - 09:16 #12
Ser ud som om du blot sætter en cookie, men du laver jo ikke noget tjek på om den er sat.
Ville nok osse lave login'en på en lidt anden måde.

Hvis en bruger f.eks. laver en bookmark til en beskyttet side, og har cookien, skal det jo heller ikke være nødvendigt at logge ind.
Avatar billede www.duzer.dk Nybegynder
30. september 2003 - 18:43 #13
Nej men den der side er kun til når man skal logge ind.. så er der en formel der sender til login.php i index.php havde jeg så tænkt at includere en autologin.php som sp skulle tjekke om cookie er sat og hvis den så er det skal den så "logge ind"

Men den sætter ikke cookie i login.php (koden der er oven over)

Kan i se nogle fejl i den ?
Avatar billede www.duzer.dk Nybegynder
05. oktober 2003 - 16:45 #14
Hmm kan i hjælpe ?
Avatar billede sukos Juniormester
05. oktober 2003 - 16:51 #15
æhh, lave noget nyt fra bunden?
Så er jeg frisk i den næste times tid!
Avatar billede www.duzer.dk Nybegynder
14. oktober 2003 - 19:57 #16
undskyld jeg ikke har givet en lyd fra mig.. det er jeg meget ked af..

Hvis du stadig har løst, ville det være dejligt hvis du ville lave noget fra bunden :o)
Avatar billede sukos Juniormester
15. oktober 2003 - 19:33 #17
Er du på nu?
For så er jeg frisk! :O)
Avatar billede sukos Juniormester
18. oktober 2003 - 18:52 #18
Avatar billede www.duzer.dk Nybegynder
19. oktober 2003 - 12:25 #19
kigger lige på det
Avatar billede www.duzer.dk Nybegynder
19. oktober 2003 - 12:34 #20
Tak for det.. det virker :D

Hvis du ligger at svar, så er de 100 point dine :o)
Avatar billede sukos Juniormester
20. oktober 2003 - 10:06 #21
ok du! :O)
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