Avatar billede dktekno Nybegynder
20. april 2007 - 21:19 Der er 9 kommentarer og
1 løsning

Husker ikke min sessions

Jeg har følgende kode:


<?PHP
session_start();
if(!$_SESSION['loget_in'] == 1) {//Hvis brugeren ikke er logget in
header("Location: /ekintra/login.php");//Sender brugeren videre
exit;//Sørger for at resten af koden, ikke bliver udført
}

blablabla- og alt muligt andet kode herunder.


Denne kode skulle gerne virke som spærring for, at hvis man ikke er logget ind, så kan man ikke komme ind på siden.

Problemet er bare, at selv efter jeg er logget ind, så husker den ikke, at jeg er logget ind.

Her er login-testen:





<?php

$serverroot = $_SERVER['DOCUMENT_ROOT'];
$includepath = $serverroot . "/ekintra/myconf.php";
include($includepath);

//session_start();
 
$conn = mysql_connect("localhost",$dbuser,$dbpass);
mysql_select_db("ekintra");

if(!isset($_POST['Submit'])) { //Tester om brugeren kom fra  login.html
    echo "Du skal komme fra login.php";
    }else{
        $brugernavn = $_POST['brugernavn'];
        $adgangskode = $_POST['adgangskode'];



       
        $resultat = mysql_query("SELECT Id FROM brugere WHERE        brugernavn = '$brugernavn' AND adgangskode = '$adgangskode'");



        $number = mysql_num_rows($resultat);//Tæller antaller af resultater
        if($number == 1) { //Hvis der kun er et resultat, bliver brugeren logget in
        $_SESSION['loget_in'] = 1;
        $_SESSION['Brugernavn'] = $brugernavn;
        $_SESSION['Password'] = $adgangskode; //Sætter session variablerne
        echo "Du er nu logget in";

        }else echo"De indtastede oplysninger er ikke korrekte";
        }
?>
</body>
</html>


Det underlige er, at det fungerer fint nok på mit arbejde, men ikke derhjemme på min egen maskine.

Jeg kører WinXP Home, Apache2, PHP5.
Avatar billede erikjacobsen Ekspert
20. april 2007 - 21:33 #1
http://php.net/session_start - det sker måske automatisk på den ene maskine, hvor det virker
Avatar billede dktekno Nybegynder
20. april 2007 - 21:45 #2
erikjacobsen - jeg forstår ikke hvad det er du mener...
Avatar billede erikjacobsen Ekspert
20. april 2007 - 22:52 #3
Prøv, som der står i linket, at skrive øverst i dit script:

<?php
  session_start();
Avatar billede dktekno Nybegynder
21. april 2007 - 12:15 #4
Det har jeg gjort.
Avatar billede dktekno Nybegynder
21. april 2007 - 12:15 #5
Se selv min kode.
Avatar billede erikjacobsen Ekspert
21. april 2007 - 13:11 #6
Jeg kan ikke se du kalder session_start() i din kode.
Avatar billede dktekno Nybegynder
21. april 2007 - 19:05 #7
Se allerøverst i min kode. Der står session_start();
Avatar billede dktekno Nybegynder
21. april 2007 - 19:11 #9
Nå, men jeg fik da løst problemet.

I php.ini satte jeg session.auto_start til at være 1.
Avatar billede erikjacobsen Ekspert
21. april 2007 - 19:47 #10
Ok, men du skal skrive session_start() på alle dine sider, eller som du gør nu.
Jeg så kun at du have en linie med et udkommenteret kald: //session_start();
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