Avatar billede rthuls Nybegynder
22. januar 2004 - 21:55 Der er 4 kommentarer og
1 løsning

problem med login script

Jeg har et problem med mit login script. Når jeg tester på min egen computer virker det, men når jeg uploader til mit webhotel virker det ikke.

På trods af at brugernavn og kodeord stemmer overens med det i databasen, bliver jeg sendt tilbage til logind.php, istedet for at blive logget ind.

Jeg kører med PHP 4.3.4, mens webhotellet kører med version 4.2.3. Kan det have noget at sige?

Mit script ser sådan her ud. Jeg håber at i kan finde rundt i det, for jeg kan snart ikke mere :o)


******************************************************
index.php
******************************************************
<?php

function checkSession(){
    if (!isset($_SESSION['sessionid']) || $_SESSION['sessionid'] != session_id()) {
        header("Location:logind.php");
    }
}

if (!isset($_COOKIE['brugernavn'], $_COOKIE['kodeord'])) {
    header("Location:logind.php");   
    exit;
}

session_start();
checkSession();

?>

<html>
<head>
</head>
<body>
<p>logget ind</p>
</body>
</html>



******************************************************
logind.php
******************************************************
<?php

$tid = 60*60*24*365;
if (isset($_COOKIE['huskBrugernavn'])){
    $brugernavn = $_COOKIE['brugernavn'];
    $huskBrugernavn = $_COOKIE['huskBrugernavn'];
}else{
    setcookie("brugernavn", "", time()-$tid);
    $brugernavn = "";
    $huskBrugernavn = "";
}

if (isset($_COOKIE['huskKodeord'])){
    $kodeord = $_COOKIE['kodeord'];
    $huskKodeord = $_COOKIE['huskKodeord'];
}else{
    setcookie("kodeord", "", time()-$tid);
    $kodeord = "";
    $huskKodeord = "";
}
?>

<html>
<head>
</head>

<body>
<form name="logind" action="cookie.php" method="post">
<input type="text" id="brugernavn" name="brugernavn" value="<?=$brugernavn;?>" /><br /><br />
<input type="password" id="kodeord" name="kodeord" value="<?=$kodeord;?>" />
<input type="checkbox" id="huskBrugernavn" name="huskBrugernavn" <?=$huskBrugernavn;?> />
<input type="checkbox" id="huskKodeord" name="huskKodeord" <?=$huskKodeord;?> />
<input type="submit" value=" OK " />
</form>
</body>
</html>



******************************************************
cookie.php
******************************************************
<?php

require("config.php");
require("functions.php");

openConnection();

$result = @mysql_query("SELECT * FROM brugere WHERE brugernavn='$_POST[brugernavn]' AND kodeord='$_POST[kodeord]'");

closeConnection();

$antal = @mysql_num_rows($result);

if ($result && $antal > 0){

    $tid = 60*60*24*365;
   
    if(isset($_POST['huskBrugernavn']) && strlen($_POST['huskBrugernavn']) != 0){   
        setcookie("brugernavn", $_POST['brugernavn'], time()+$tid);
        setcookie("huskBrugernavn", "checked", time()+$tid);
    }else{
        setcookie("brugernavn", $_POST['brugernavn'], time()+$tid);
        setcookie("huskBrugernavn", "", time()-$tid);
    }

    if(isset($_POST['huskKodeord']) && strlen($_POST['huskKodeord']) != 0){   
        setcookie("kodeord", $_POST['kodeord'], time()+$tid);
        setcookie("huskKodeord", "checked", time()+$tid);
    }else{
        setcookie("kodeord", $_POST['kodeord'], time()+$tid);
        setcookie("huskKodeord", "", time()-$tid);
    }   
   
   
    session_start();
    $_SESSION['sessionid'] = session_id();
   
    header("Location:index.php");
}else{
    header("Location:logind.php");
}

?>
Avatar billede thorus Nybegynder
22. januar 2004 - 21:57 #1
husk at sæt: session_start(); øverst i dit script
Avatar billede rthuls Nybegynder
22. januar 2004 - 22:11 #2
session_start(); står nu øverst i mine scripts, men det har desværre ikke hjulpet.
Avatar billede noden Nybegynder
22. januar 2004 - 23:36 #3
Jeg tror ikke det er noget med versionsforskelle!
Det har ikke noget at gøre med sikkerhedsniveauet in din browser for externe sider!?
Prøv at tilføje dit webhotels adresse som "websted du ahr tillid til".
IE -> Funktioner -> Internetinstillinger -> Sikkerhed (Fane) -> Websteder du har tillid til (Billede) -> Websteder... (knap)
Avatar billede noden Nybegynder
22. januar 2004 - 23:37 #4
Det kan selvfølig også være noget Norton, Norman, McAfee eller lign. som dræber din session.
Det er jo ikke sikkert det er en fejl i scriptet.
Avatar billede rthuls Nybegynder
23. januar 2004 - 01:41 #5
noden > jeg prøvede dine forslag, men uden held.

Nu har jeg tilgengæld skrevet scriptene om fra bunden og nu virker det. Jeg fandt aldrig ud af hvad der var skyld i at det ikke virkede før.
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