Avatar billede michaeltryl Seniormester
06. april 2011 - 22:51 Der er 6 kommentarer og
1 løsning

problem med autologin

har kigget lidt på denne guide
http://www.bitrepository.com/php-autologin.html
og forsøgt at putte det ind i mit eget system, men kan ikke få det til at virke.

min form:
echo"<FORM name='login' method='POST' ACTION='settings/login-tjek.php'>";

echo "<input type=\"text\" name=\"login_brugernavn\" value=\"Brugernavn\" onfocus=\"this.value=''\" /><br>";
echo "<input type=\"password\" name=\"login_password\" value=\"Password\" onfocus=\"this.value=''\" /><br>";
echo "Husk mig: <input type=\"checkbox\" name=\"autologin\" value=\"1\"><br>";
echo "<input class='inputknap' type='submit' value='Login'><br>";
echo "</form>";


i login-tjek.php har jeg indsat
$autologin = mysql_real_escape_string($_POST["autologin"]);

if($autologin == 1)
{
$value = "usr=".$brugernavn."&hash=".$checkkode."";
setcookie ($cookie_name, $value, time() + $cookie_time);
}

og i connect filen som er i toppen af alle sider er indsat
$cookie_name = "siteAuth";
$cookie_time = (3600 * 24 * 30); // 30 days

if($_SESSION['logget_ind'] != 1)
{
include_once 'auto_login.php';
}

auto_login.php
if(isSet($cookie_name))
{
// Check if the cookie exists
if(isSet($_COOKIE[$cookie_name]))
{
parse_str($_COOKIE[$cookie_name]);

}
}

indeholder mere end jeg har vist herover,
men scriptet køres kun til
if(isSet($cookie_name))
hvorefter resten springes over, så det er som om cookien ikke sættes. selvom jeg afkrydser autologin når jeg logger ind.

Har også tjekket at, når jeg logger ind køre scriptet ind i den if() som skal sætte cookien.

Håber der er en som kan hjælpe med en løsning.
Avatar billede olebole Juniormester
06. april 2011 - 23:09 #1
<ole>

Print noget ud inde i dine if-sætninger, så du kan se, om du overhovedet når derind - og print værdien af dine forskellige variabler. Så finder du formodentlig hurtigt ud af, hvor fejlen ligger

/mvh
</bole>
Avatar billede michaeltryl Seniormester
07. april 2011 - 00:08 #2
som jeg skriver har jeg tjekket at den når ind i de forskellige if sætninger og har lige prøvet at udskrive diverse variabler og de bliver også fint udskrevet.

Den når dog ikke forbi
// Check if the cookie exists
if(isSet($_COOKIE[$cookie_name]))
{
i autologin
Avatar billede rix Novice
07. april 2011 - 00:10 #3
jeg ville prøve dette her


if($_SESSION['logget_ind'] != 1)
{
include_once 'auto_login.php';
}

auto_login.php
if(isset($cookie_name))
{
// Check if the cookie exists
if(isset($_COOKIE[$cookie_name]))
{
parse_str($_COOKIE[$cookie_name]);

}
}


mener ikke at php under støtter store bogstaver i dens inbygget function der mener jeg isset
men er ikke helt sikker :D
Avatar billede michaeltryl Seniormester
07. april 2011 - 00:55 #4
Det var heller ikke løsningen desværre.
Jeg har en gang været heldig at den udskrev variablerne fra cookien, men da jeg så lukkede browseren og åbnede den igen, virkede det alligevel ikke
Avatar billede danco Nybegynder
07. april 2011 - 09:02 #5
Jeg kan ikke undgå at falde over at du tester på en session om man er logget ind og derefter gør brug af en cookie. Du bør vel i virkeligheden teste på din cookie frem for din session.
Avatar billede michaeltryl Seniormester
07. april 2011 - 19:31 #6
Jeg har fået det til at virke nu.
Jeg forsøgte at starte forfra og derefter virkede det.
I skal have tak for hjælpen og jeg giver gerne point hvis nogen ønsker dette.
Avatar billede michaeltryl Seniormester
01. august 2011 - 11:23 #7
lukker
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