IE geeft problemen met inloggen dmv sessies

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Ventilatiesysteem Productontwikkelaar HBO WO Verwa

Samengevat: Zij bieden flexibele ventilatiematerialen, geluidsdempers, rookgasafvoer producten en industrieslangen. Ben jij een technisch productontwikkelaar? Heb jij ervaring met het ontwikkelen van nieuwe producten? Vaste baan: Technisch Productontwikkelaar HBO WO €3.000 - €4.000 Zij bieden een variëteit aan flexibele ventilatiematerialen, geluiddempers, rookgasafvoer producten, industrieslangen en ventilatieslangen voor de scheepsbouw. Met slimme en innovatieve materialen zorgen wij voor een gezonde en frisse leefomgeving. Deze werkgever is een organisatie die volop in ontwikkeling is met hardwerkende collega's. Dit geeft goede ontwikkelingsmogelijkheden. De branche van dit bedrijf is Techniek en Engineering. Functie: Voor de vacature als Technisch Productontwikkelaar Ede Gld HBO WO ga

Bekijk vacature »

Sneeuwvlok

Sneeuwvlok

13/07/2007 18:01:00
Quote Anchor link
Het is heel erg vreemd. Ik dacht dat sessies altijd op de server werden opgeslagen en daardoor min of meer browser onafhankelijk zijn. Echter geeft Internet Explorer problemen bij bepaalde checks naar een sessie.

Het is als volgt: ik heb een user gedeelte waarvan in de constructor van de klasse ($plugin->user) onder andere wordt gekeken welk user level de gebruiker krijgt:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
<?
if($_COOKIE["sessionID"]){
    //Cookie was set to stay logged in
    $_COOKIE["sessionID"] = mysql_real_escape_string($_COOKIE["sessionID"]);
    $result = $database->Execute("SELECT user_id, ip FROM plugin_user_session WHERE hash='".$_COOKIE["sessionID"]."'");
    $result = $result->FetchRow();
    if($result["ip"] == $_SERVER["REMOTE_ADDR"]){
        $_SESSION["hash"] = $_COOKIE["sessionID"];
    }
}


if($_SESSION["hash"]){
    //Visitor is a user (and has already visited a page in this session)
    $result = $database->Execute("SELECT S.user_id, S.last_visit, U.name, U.level
        FROM plugin_user_session AS S, plugin_user_users AS U
        WHERE S.user_id = U.id
        AND S.ip='"
.$_SERVER["REMOTE_ADDR"]."'
        AND S.hash='"
.$_SESSION["hash"]."'");
    if($result){
        $result = $result->FetchRow();
        $this->id = $result["user_id"];
        $this->name = $result["name"];
        $this->level = $result["level"];
        $this->last_visit = $result["last_visit"];
    }
else{
        $this->level = 100;
    }
}
else{
    $this->level = 100;
}


?>
Een cookie is dus gezet wanneer de user ingelogd wil blijven. Een sessie wordt aangemaakt wanneer de user is ingelogd. De user heeft dan een level van < 100. Als er geen sessie bestaat is de user dus een gast en krijgt het level 100.

Nu is het probleem zo dat ik dikwijls met Internet Explorer browse op de TU, en een item in mn blog wil posten. Het user id wordt opgehaald van deze klasse: $plugin->user->id. Dat moet dus mijn user id zijn. Dus niet! De query geeft aan dat de variabele null[/] is :?
In Firefox werkt alles echter perfect....

Wat kan hier fout aan zijn? Kan het zo zijn dat met een bepaalde policy bij de client $_SERVER en $_SESSION anders reageren? Het probleem doet zich voor bij zowel het bestaan van een cookie als het niet bestaan ervan. Wellicht dat het iets te maken heeft met deze reactie[/] op php.net, maar zeker ben ik nog niet.

Ik zie wel dat ik ingelogd ben en kan ook afgeschermde pagina's bekijken. De sessie werkt volgens mij dan wel aangezien ik kijk of je ingelogd ben dmv deze functie:
Quote:
function user_logged_in(){
if($_SESSION["hash"]){
return true;
}
}[/]
Gewijzigd op 01/01/1970 01:00:00 door Sneeuwvlok
 
PHP hulp

PHP hulp

29/05/2024 03:25:05
 
Sneeuwvlok

Sneeuwvlok

17/07/2007 18:02:00
Quote Anchor link
dikke kick
 
Sneeuwvlok

Sneeuwvlok

18/07/2007 13:10:00
Quote Anchor link
té vroege bump
 
Sneeuwvlok

Sneeuwvlok

19/07/2007 11:19:00
Quote Anchor link
Laatste bump, als ik dan nog geen reactie krijg kap ik ermee
 
Bo az

Bo az

19/07/2007 11:26:00
Quote Anchor link
Deze regel valt me op:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
if($_SESSION["hash"]){

Die bestaat zo te zien niet in alle gevallen, alleen als een bepaald cookie geset is + het ip overeenkomt met een in de database. Misschien dat je iets van !empty() moet gebruiken?
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.