[PHP] Server maakt geen sessies aan...

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ik heb op mijn XP-bak m.b.v. EasyPHP een apache en PHP server geinstalleerd. Alles werkt naar behoren, maar als ik wil surfen naar mijn site en wil inloggen, kan dat niet omdat er geen sessie wordt aangemaakt door de server. Ik maak wel een sessie aan in het script.

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
<?php
session_start(); // sessie beginnen
// controleren of pagina correct is aangeroepen.
if (!empty($_POST)){
    include("inc_connect.php");
    $query = "SELECT * FROM gebruiker
             WHERE loginnaam='" . $_POST["loginnaam"] ."'
             AND wachtwoord='". MD5($_POST["wachtwoord"]). "'";
    $result = mysql_query($query) or die("FOUT : " . mysql_error());
    if (mysql_num_rows($result) > 0){
        // loginnaam gevonden, registreer gegevens in session
                $username = $_POST["loginnaam"];
                $wachtwoord = $_POST["wachtwoord"];
                session_register("username");
                session_register("wachtwoord");
                
                /*$_SESSION["username"] = $_POST["loginnaam"];
                session_register("username");*/
                
        // Doorsturen naar beveiligde pagina
        header("Location: index2.php");
        exit(); 
    }else{
            // geen loginnaam gevonden, of ongeldig wachtwoord.
        $tekst = "U hebt geen geldige combinatie van loginnaam en
                 wachtwoord opgegeven. <br>
                 Klik <a href=\"index.html\" target=\"_top\">hier</a> om opnieuw in te loggen<br>";
            die($tekst);
        }
}else{
    // pagina was incorrect aangeroepen, direct doorsturen naar index.html
    header("Location: index.html");
}
?>


PHP:
1
2
3
4
5
6
7
<?php session_start();
if (!isset($_SESSION["username"])){
    $tekst = "<h2>U bent niet aangemeld in het systeem!</h2>
        U kunt <a href=\"index.html\" target=\"_top\">hier</a> inloggen.";
    echo($tekst);
    exit();
}?>


Ik krijg dus continue te zien dat ik niet aangemeld ben in het systeem.
Ook in de map waar mijn sessies bewaard worden verschijnt geen sessie.
Heeft iemand een idee waar in mijn instellingen de fout kan zitten?

Acties:
  • 0 Henk 'm!

  • MisterData
  • Registratie: September 2001
  • Laatst online: 29-08 20:29
Misschien staat in php.ini de map waar sessies mogen worden opgeslagen fout? Meestal staat daar namelijk standaard /tmp/ (linux installatie), maar onder Windows moet je er dan c:\temp\ oid van maken. Ik dacht dat die instelling session.save_path oid heette....

Acties:
  • 0 Henk 'm!

  • Eegee
  • Registratie: Januari 2000
  • Laatst online: 23:35
Denk ook aan de schrijfrechten in de temp directory. Zet eventueel auditing aan op de tempdirectory om te kijken welke rechtenproblemen er zijn.

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Klopt hier stond /tmp. Dit heb ik vervangen door C:\Program Files\EasyPHP1-7\apache\tmp. Helaas maakt dit niets uit...

Acties:
  • 0 Henk 'm!

  • MisterData
  • Registratie: September 2001
  • Laatst online: 29-08 20:29
Of je hebt cookies uitstaan in je browser?

Acties:
  • 0 Henk 'm!

  • WOmBaT
  • Registratie: September 2000
  • Laatst online: 02-09 07:31

WOmBaT

Nyaaa!!!

Verwijderd schreef op 30 november 2003 @ 21:28:
Klopt hier stond /tmp. Dit heb ik vervangen door C:\Program Files\EasyPHP1-7\apache\tmp. Helaas maakt dit niets uit...
Heb je hierna apache ook herstart?

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
WOmBaT schreef op 30 november 2003 @ 21:29:
[...]


Heb je hierna apache ook herstart?
Ja dat heb ik gedaan...

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
MisterData schreef op 30 november 2003 @ 21:28:
Of je hebt cookies uitstaan in je browser?
Cookies staan aan...

Acties:
  • 0 Henk 'm!

  • Eegee
  • Registratie: Januari 2000
  • Laatst online: 23:35
En SYSTEM heeft schrijfrechten in C:\Program Files\EasyPHP1-7\apache\tmp ?

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Eegee schreef op 30 november 2003 @ 21:36:
En SYSTEM heeft schrijfrechten in C:\Program Files\EasyPHP1-7\apache\tmp ?
Ja...

Acties:
  • 0 Henk 'm!

  • Eegee
  • Registratie: Januari 2000
  • Laatst online: 23:35
Hmmm... 't volgende is misschien een beetje 'duh'... ;) is het misschien dan dat je forward slashes moet gebruiken in het pad (of backslashes escapen), in het ini-file? Omdat je het hier met backslashes vermeldt...

[ Voor 9% gewijzigd door Eegee op 30-11-2003 21:43 ]


Acties:
  • 0 Henk 'm!

  • BetuweKees
  • Registratie: Januari 2003
  • Laatst online: 15-07 20:53

BetuweKees

Flipje uit Tiel

1. in path dat je in ini gebruikt forward ipv backward slashes; bv c:/temp
2. gebruik je lange bestandsnamen die niet dos compatible zijn zou ik ze ofwel tussen quotes zetten ofwel gewoon de dos naam opgeven; "progra~1" dus ipv "program files"

Through meditation I program my heart to beat breakbeats and hum basslines on exhalation -Blackalicious || *BetuweKees was AFK; op de fiets richting China en verder


Acties:
  • 0 Henk 'm!

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 16-09 09:15

Janoz

Moderator Devschuur®

!litemod

probeer niet session_register en $_SESSION door elkaar te gebruiken. De eerste is bij gebruik van de tweede niet nodig.

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'

Pagina: 1