Likes Likes:  0
Resultaten 1 tot 5 van de 5
Geen
  1. #1
    Daniel Tryba
    Re: Cookies en session in ??n keer
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Re: Cookies en session in ??n keer

    Rick <r.haasteren@planet.nl> wrote:
    > Op mijn site wil ik een combinatie van sessions en cookies gebruiken
    > voor het inloggen: als er een cookie gevonden wordt zal de session
    > worden gestart. Daarvoor heb ik het volgende scriptje geschreven:
    >
    > <?php


    Aha, je bent een beginner.... die horen thuis in
    nl.internet.www.server-side (followup-to set)

    > $hash = md5([...]);
    >
    > // Oke de hash is gemaakt, nu de nieuwe hash met de hash in de
    > cookie vergelijken.
    > if($hash == $userhash) {


    Huh? $userhash komt uit de lucht vallen.

    > `name` = '".$_COOKIE[["username"]."' AND
    > `password` = '".$_COOKIE[["userpass"]."'";


    Parse error!

    > echo"".$_SESSION['my_id']."";
    > }
    > session_register("my_id");


    Ai, mengen van oude meuk met nieuwe stijl, zie ook het gebruik van zowel
    HTTP_COOKIE_VARS en _COOKIE

    > Werkt op zich prima, met ??n probleempje: op 1 of andere manier kan
    > het niet in 1 pagina. Als ik (met een werkend cookie) op de site kom,
    > krijg ik de pagina voor niet-ingelogden te zien (wat dus wil zeggen
    > dat er geen session_id is ingesteld).


    Hmmm, waarom maak je de session cookies niet gewoon persistent? Het
    opslaan van user/passwd in cookies is overigens niet iets wat je wilt.

    --

    Daniel Tryba


  2. #2
    Rick
    Re: Cookies en session in ??n keer
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Re: Cookies en session in ??n keer

    Daniel Tryba wrote:
    > Rick <r.haasteren@planet.nl> wrote:
    >> Op mijn site wil ik een combinatie van sessions en cookies gebruiken
    >> voor het inloggen: als er een cookie gevonden wordt zal de session
    >> worden gestart. Daarvoor heb ik het volgende scriptje geschreven:
    >>
    >> <?php

    >
    > Aha, je bent een beginner.... die horen thuis in
    > nl.internet.www.server-side (followup-to set)


    Werkt op zich prima, met een probleempje: op 1 of andere manier kan het niet
    in 1 pagina. Als ik (met een werkend cookie) op de site kom, krijg ik de
    pagina voor niet-ingelogden te zien (wat dus wil zeggen dat er geen
    session_id is ingesteld).

    Sorry, inderdaad in de verkeerde ng. Ik zal moeten leren leven met het
    predicaat "beginner"...:-(

    <knip oude code + comments van Daniel Tryba>

    Er zaten inderdaad grote fouten in de eerder geposte code. Zo lijkt het me
    beter:

    <?php
    include "connect.php";
    $secretword = "blaat";
    $hash =
    md5($_COOKIE["userid"].$_COOKIE["username"].$_COOKIE["userpass"].$secretword
    );
    $userhash = $_COOKIE['userhash'];

    // Oke de hash is gemaakt, nu de nieuwe hash met de hash in de cookie
    vergelijken.
    if($hash == $userhash) {
    $my_id = $_COOKIE['userid'];
    session_register("my_id");
    }
    ?>

    Als ik de $userhash en $hash echo, blijkt dat ze gelijk zijn. Op dat moment
    zou de session_regitser("my_id") moeten plaats vinden. Naar mijn idee
    gebeurt dat ook wel, maar het probleem zit hem er denk in dat dat te laat
    gebeurt: de pagina voor "niet-ingelogden" komt tevoorschijn... Als ik
    vervolgens op refresh klik, of als ik naar een andere pagina binnen de site
    ga, blijkt dat de session_register wel gelukt is. Op een of andere manier
    lukt het dus niet binnen een pagina.

    Heeft iemand een idee wat hieraan te doen is?

    Vriendelijk bedankt

    --
    Rick van Haasteren



  3. #3
    Ronald Klip
    Re: Cookies en session in ??n keer
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Re: Cookies en session in ??n keer

    Rick schreef:
    > if($hash == $userhash) {
    > $my_id = $_COOKIE['userid'];
    > session_register("my_id");
    > }


    Simpeler en beter (volgens de manual dien je session_register() niet te
    gebruiken icm $_SESSION):

    $_SESSION['my_id'] = $_COOKIE['userid'];

    > Als ik de $userhash en $hash echo, blijkt dat ze gelijk zijn. Op dat moment
    > zou de session_regitser("my_id") moeten plaats vinden. Naar mijn idee
    > gebeurt dat ook wel, maar het probleem zit hem er denk in dat dat te laat
    > gebeurt: de pagina voor "niet-ingelogden" komt tevoorschijn... Als ik
    > vervolgens op refresh klik, of als ik naar een andere pagina binnen de site
    > ga, blijkt dat de session_register wel gelukt is. Op een of andere manier
    > lukt het dus niet binnen een pagina.
    >
    > Heeft iemand een idee wat hieraan te doen is?


    Hoe bepaal je welke pagina getoond moet worden?

    --
    groet, Ronald

  4. #4
    Daniel Tryba
    Re: Cookies en session in ??n keer
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Re: Cookies en session in ??n keer

    Rick <r.haasteren@planet.nl> wrote:
    > Als ik de $userhash en $hash echo, blijkt dat ze gelijk zijn. Op dat moment
    > zou de session_regitser("my_id") moeten plaats vinden.


    Zoals al door meerdere opgemerkt is. session_register is deprecated en
    moet vooral niet gebruikt worden met $_SESSION.

    > Naar mijn idee gebeurt dat ook wel, maar het probleem zit hem er denk
    > in dat dat te laat gebeurt: de pagina voor "niet-ingelogden" komt
    > tevoorschijn... Als ik vervolgens op refresh klik, of als ik naar een
    > andere pagina binnen de site ga, blijkt dat de session_register wel
    > gelukt is. Op een of andere manier lukt het dus niet binnen een
    > pagina.
    >
    > Heeft iemand een idee wat hieraan te doen is?


    Dan doe je toch een redirect op het moment dat je weet dat de sessie
    nieuw was en je met cookies de gebruiker alsnog hebt kunnen
    authentificeren!

    --

    Daniel Tryba


  5. #5
    Rick
    Re: Cookies en session in ??n keer
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Re: Cookies en session in ??n keer

    Ronald Klip wrote:
    > Rick schreef:
    >> if($hash == $userhash) {
    >> $my_id = $_COOKIE['userid'];
    >> session_register("my_id");
    >> }

    >
    > Simpeler en beter (volgens de manual dien je session_register() niet
    > te gebruiken icm $_SESSION):
    >
    > $_SESSION['my_id'] = $_COOKIE['userid'];


    Dat heb ik inmiddels gedaan ja, bedankt

    >> Als ik de $userhash en $hash echo, blijkt dat ze gelijk zijn. Op dat
    >> moment zou de session_regitser("my_id") moeten plaats vinden. Naar
    >> mijn idee gebeurt dat ook wel, maar het probleem zit hem er denk in
    >> dat dat te laat gebeurt: de pagina voor "niet-ingelogden" komt
    >> tevoorschijn... Als ik vervolgens op refresh klik, of als ik naar
    >> een andere pagina binnen de site ga, blijkt dat de session_register
    >> wel gelukt is. Op een of andere manier lukt het dus niet binnen een
    >> pagina.
    >>
    >> Heeft iemand een idee wat hieraan te doen is?

    >
    > Hoe bepaal je welke pagina getoond moet worden?


    PHP kijkt of de sessionwaarde 'my_id' is opgegeven. Zo ja, dan de
    ingelogdenpagina. Zo niet.... je raad het al.

    Rick



Webhostingtalk.nl

Contact

  • Rokin 113-115
  • 1012 KP, Amsterdam
  • Nederland
  • Contact
© Copyright 2001-2026 Webhostingtalk.nl.
Web Statistics