mijn sessies werken niet...

Plaats reactie
Gebruikersavatar
Pi R²
Elite Poster
Elite Poster
Berichten: 811
Lid geworden op: 03 jan 2003, 17:15
Locatie: Sint-Niklaas
Contacteer:

Ik heb nogmaals een probleemke met php

Op de ene pagina heb ik het volgende onnozel codeke gezet
<?php
session_destroy();
session_start();
$naam = "Pi R²" ;
session_register("naam");
$session_id = session_id() ;
echo($session_id."<br>\n");
echo($_SESSION["naam"]);
?>

normaal gezien krijgt ge dan een nieuwe sessie, waarin een variabele naam wordt opgenomen, en dan wordt in u scherm weergeven wat de sessie-id is en de variabele "naam" in die sessie inhoud. Dit werk ook perfect.

Zoals ge misschien wel weet is de bedoeling dat ge met sessies iets kunt opslaan en naar ergens anders kunt openen. Dus heb ik een andere pagina gemaakt met volgende code in.
<?php
$session_id = session_id() ;
echo($session_id."<br>\n");
echo($_SESSION["naam"]);
?>

Volgens mijn bescheiden php-kennis zou nu dezelfde sessie-id en dezelfde inhoud voor de variabele naam op het schermke moeten verschijnen. Dit werkt nu ineens NIET. Wat kan er mis lopen? Of heb ik sessies verkeerd begrepen? Merci voor de hulp
Lang Leve Mijn Eigen! Het geheim voor een lang leven: niet stoppen met ademen
Gebruikersavatar
Pi R²
Elite Poster
Elite Poster
Berichten: 811
Lid geworden op: 03 jan 2003, 17:15
Locatie: Sint-Niklaas
Contacteer:

Ja, het is al niet meer nodig : ik heb niet gezien dat de eerst u sessie moet starten met session_start() ... Lomp he. :oops:
Lang Leve Mijn Eigen! Het geheim voor een lang leven: niet stoppen met ademen
Sensei Zeon
Administrator
Administrator
Berichten: 4143
Lid geworden op: 15 sep 2002, 09:08
Locatie: Belgium, Haacht
Contacteer:

de lompste fouten daar let je niet op en die zorgen voor de grootste frustratie
Your Sensei sends his greetz, SeNsEi Ze0n

Afbeelding
Gebruikersavatar
NuKeM
Content Editor
Content Editor
Berichten: 5132
Lid geworden op: 10 nov 2002, 00:55
Uitgedeelde bedankjes: 67 keer
Bedankt: 156 keer
Contacteer:

Eerste pagina

Code: Selecteer alles

<?php 
session_destroy();
session_start();

session_register("naam");
$naam = "Pi R²" ;

$session_id_test = session_id();
echo session_id();

echo "Deze waarde zal worden doorgegeven naar de volgende pagina: $naam";
?>


2de pagina

Code: Selecteer alles

<?php 
session_start();  <- dit moet op elke pagina HELEMAAL bovenaan staan!!

$session_id_test2 = session_id() ;

echo "De session id van op de vorige pagina was $session_id_test \n";
echo "Deze moet dezelfde zijn al deze van deze pagina, namelijk $session_id_test2 \n";

echo "Deze waarde werd doorgegeven via de vorige pagina: $naam";
?>


Kan zijn dat er wat foutjes instaan (ik zit dit hier maar wat uit mijn hoofd te typen en heb al enkele maanden gaan php lijntje meer gezien :? ).
Probeer het eens.
NuKeM
Gebruikersavatar
NuKeM
Content Editor
Content Editor
Berichten: 5132
Lid geworden op: 10 nov 2002, 00:55
Uitgedeelde bedankjes: 67 keer
Bedankt: 156 keer
Contacteer:

Ha tis al opgelost :) mooi zo...
Inderdaad op elke pagina moet dat boven aan staan :)
NuKeM
Gebruikersavatar
Erik
Elite Poster
Elite Poster
Berichten: 1321
Lid geworden op: 15 sep 2002, 02:46
Uitgedeelde bedankjes: 2 keer
Bedankt: 18 keer

yep session_start();

moet de eerste regel zijn vrij logisch dacht ik zo :mrgreen:
Registered Linux user #286313
Gebruikersavatar
Pi R²
Elite Poster
Elite Poster
Berichten: 811
Lid geworden op: 03 jan 2003, 17:15
Locatie: Sint-Niklaas
Contacteer:

NuKeM schreef:Ha tis al opgelost :) mooi zo...
Inderdaad op elke pagina moet dat boven aan staan :)


Toch bedankt voor de reacties allemaal 8) :wink:
Lang Leve Mijn Eigen! Het geheim voor een lang leven: niet stoppen met ademen
Gebruikersavatar
Pi R²
Elite Poster
Elite Poster
Berichten: 811
Lid geworden op: 03 jan 2003, 17:15
Locatie: Sint-Niklaas
Contacteer:

Ik heb nog een paar probleemkes met een mijn sessions...
De gegevens van een sessie worden blijkbaar niet doorgegeven naar een ander bestand. De scripts hebben eerder al gewerkt, maar sinds een 2 dagen merk ik dat ze niet meer werken.

De pagina's bevatten allemaal start_session(); en de gegevens worden uitgelezen met $_SESSION["naam"]. Normaal is dit voldoende dacht ik?

Ik heb vroeger al gemerkt, toen het wel min of meer werkte, dat ik gegevens van pagina A alleen kan doorsturen naar pagina B op voorwaarde dat er op pagina A een link staat naar pagina B. Dan stond er telkens automatisch achter de bestandsnamen ?PHPSESID=6sfy5564h56gv... zonder dat ik dat er gewilt bij liet komen. Nu staat dat er blijkbaar niet meer bij.

Ik kon er mee leven dat ik een hyperlink moest leggen tussen 2 bestanden, en dat ik dat niet gewoon in de adresbalk kon typen, maar nu werkt het systeem helemala niet meer. Kan iemand daar een zinnige verklaring voor geven?

Zou het aan de server kunnen liggen (tripod.lycos)? Of moet ik nu zelf zorgen dat er achter de bestandsnaam nen $_GET[PHPSESID] staat of aan wat kan dat nog liggen?
Lang Leve Mijn Eigen! Het geheim voor een lang leven: niet stoppen met ademen
Gebruikersavatar
meon
Administrator
Administrator
Berichten: 16609
Lid geworden op: 18 feb 2003, 22:02
Twitter: meon
Locatie: Bree
Uitgedeelde bedankjes: 564 keer
Bedankt: 759 keer
Contacteer:

Nee, wat jij zegt zou normaal voldoende moeten zijn...
Dat met die phpsesid ... ik snap ook nog altijd niet waarom het soms wel, soms niet er bij komt...

Je hebt bij session_register toch geen $ gebruikt eh?
dus gewoon session_register('var1','var2');
Uit gewoonte maak ik ook wel eens de fout van daar $var te typen..
Gebruikersavatar
Pi R²
Elite Poster
Elite Poster
Berichten: 811
Lid geworden op: 03 jan 2003, 17:15
Locatie: Sint-Niklaas
Contacteer:

Ik heb nu eens hetvolgende gedaan: in de inlogpagina waarin dat de sessie gevuld wordt met de gegevens over de gebruiker en zijn rechten, heb ik voor de link naar het administratiecentrum hetvolgende gedaan:

Code: Selecteer alles

echo '<a href="admin.php?PHPSESSID='.session_id.'">';


Dus nu vult hij in die link automatisch de sessie id in zoals het er soms opkomt (vroeger eigenlijk altijd, en nu plots niemeer), en nu lijkt dat dus weer perfect te werken. Ik moet dus blijkbaar altijd de id meegeven bij lycos.

Ik vind het persoonlijk geen praktische oplossing om elke link die ik vind te gaan aanpassen, maar in augustus gaan ik naar dommel, en dan zal da wel zo werken hoop ik.

Ik heb ook gemerkt, als ik naar een pagina ga waar ik door mijn beveiligingssyteem geen sessie gevonden heb, en er staat bv. nieuws_toevoegen.php , dan geeft hij de verbodentoegangmelding. Als ik daarachter nu in den adresbalk ?PHPSESSID=.... plak, dan werkt dat plots wel.

Zou dat in php.ini ingestelt kunnen worden ofda hij de sesid moet meegeven of niet?
Lang Leve Mijn Eigen! Het geheim voor een lang leven: niet stoppen met ademen
airzimmy
Erelid
Erelid
Berichten: 1047
Lid geworden op: 19 sep 2002, 14:01
Contacteer:

Code: Selecteer alles

session.use_trans_sid  boolean

    session.use_trans_sid whether transparent sid support is enabled or not. Defaults to 0 (disabled).

        Note: For PHP 4.1.2 or less, it is enabled by compiling with --enable-trans-sid. From PHP 4.2.0, trans-sid feature is always compiled.

        URL based session management has additional security risks compared to cookie based session management. Users may send an URL that contains an active session ID to their friends by email or users may save an URL that contains a session ID to their bookmarks and access your site with the same session ID always, for example.


Maar dit wil natuurlijk niet zeggen dat het op jouw host verkeerd staat.
Gebruikersavatar
Pi R²
Elite Poster
Elite Poster
Berichten: 811
Lid geworden op: 03 jan 2003, 17:15
Locatie: Sint-Niklaas
Contacteer:

enneuh, wa bedoelt ge daarmee airzimmy? :oops:
Lang Leve Mijn Eigen! Het geheim voor een lang leven: niet stoppen met ademen
Gebruikersavatar
meon
Administrator
Administrator
Berichten: 16609
Lid geworden op: 18 feb 2003, 22:02
Twitter: meon
Locatie: Bree
Uitgedeelde bedankjes: 564 keer
Bedankt: 759 keer
Contacteer:

Op Lycos.nl gebruiken ze PHP4U 4.0.2, en daar zullen sessies nog niet zo uitgebreid in zitten als in de tegenwoordig meer gangbare PHP 4.3.0 ... In PHP 3 had je immers nog geen sessies zoals we ze nu kennen, dus misschien moet dat via de URL dan wel...

Al is het vreemd als je zegt dat het vroeger wel heeft gewerkt...
Gebruikersavatar
Pi R²
Elite Poster
Elite Poster
Berichten: 811
Lid geworden op: 03 jan 2003, 17:15
Locatie: Sint-Niklaas
Contacteer:

Maar airzimmy zegt daar zo iets : als ge den session id doorgeeft, en ge plakt die vanboven in den titelbalk, kunt ge dan met meerdere mensen tegelijk op die sessie zitten ofzo? En hoe moet ge dat dan oplossen (vb. den ip derin steken en laten controleren ofzo?)
Lang Leve Mijn Eigen! Het geheim voor een lang leven: niet stoppen met ademen
airzimmy
Erelid
Erelid
Berichten: 1047
Lid geworden op: 19 sep 2002, 14:01
Contacteer:

neen, ge zou die sessie kunnen stelen als ge dat doorgeeft, die kans is wel klein daar er meestal nog ergens een verificatie in kan zitten.
Er zijn er die zelf hun id's beginnen te genereren met ip en nog andere zaken er in te steken, dan te hashen met iets,....
Over het algemeen zijn de standaard id's uniek genoeg hoor.
Plaats reactie

Terug naar “Development”