Sessie id achter elke url

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Max van den Bosch

Max van den Bosch

07/05/2011 09:45:44
Quote Anchor link
Hallo! Ik wil graag de sessie-id in elke URL meegeven, aangezien de cookies het soms niet goed doen. Maar het is veel werk om alle urls op mijn website weer te gaan veranderen... Heeft iemand een code of tip voor me?
Gewijzigd op 07/05/2011 09:47:15 door Max van den Bosch
 
PHP hulp

PHP hulp

05/12/2020 15:26:48
 
Jordy nvt

Jordy nvt

07/05/2011 09:59:21
Quote Anchor link
Zou ik niet doen. Wat ik zelf altijd doe is een Sessie aanmaken met de naam 'code' en bij elke login geef ik deze een willekeurige 10-cijfer lang getal. Zo heb je dus altijd een andere code voor elke andere gebruiker. Bij elke actie die de gebruiker op de site doet geef je die $_SESSION['code'] mee in de url en controleer je of die overeenkomen.

Of is dat niet wat jij bedoelt?
Gewijzigd op 07/05/2011 09:59:49 door Jordy nvt
 
Max van den Bosch

Max van den Bosch

07/05/2011 10:35:27
Quote Anchor link
Nee, ik zal proberen het iets duidelijker te maken:
1. Iemand logt in.
2. In een sessie word o.a. zijn username opgeslagen
3. Op de volgende pagina word zijn gebruikersnaam weergeven.

Nou gaat het vaak bij stap 3 mis, heb ik gemerkt op school, en op een andere computer. De gebruikersnaam word niet weergeven, maar hij word wel goed ingelogd.

Nou heb ik gehoord dat je dan de sessie-id mee kan zenden in de url, maar dan moet ik alle urls op mijn website gaan veranderen, waar ik uiteraard helemaal geen zin in heb.
 
Noppes Homeland

Noppes Homeland

07/05/2011 10:48:16
Quote Anchor link
En wat gebeurt er dan allemaal bij stap 3? Heb je daar wel een correcte manier om met sessie te kunnen prutsen.

@Jordy, dat is een heel omslachtige manier van doen en laten!
 
Max van den Bosch

Max van den Bosch

07/05/2011 10:52:55
Quote Anchor link
@Noppes Homeland

De gebruiker is ingelogd, en komt bij zijn panel. Boven aan de pagina staat: session_start();

Op sommige computers word de gebruikersnaam wel weergeven, en andere niet, ook al heb je met dezelfde gebruikersnaam ingelogd.

Even een voorbeeld van mijn inlogsysteem:
Klik hier, maar niet te hard
 
Danny L

Danny L

07/05/2011 11:01:52
Quote Anchor link
Wat raar...
Ik zie wel alles.
Maar als het niet lukt, kan je het weergeven met je database.
Dan weet je zeker dat de naam, email-adres etc. wel worden weergeven.

Als de gegevens alleen niet worden weergeven, maar de session wel bestaat kan je deze code gebruiken om de gegevens te weergeven:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
<?php
      $sql
= "SELECT * FROM `JOUW TABEL` WHERE naam = \"" .$_SESSION["naam"]."\" ";
      $resultaat = mysql_query($sql);
      $row = mysql_fetch_array($resultaat);

// VOORBEELD
echo $row["naam"];
?>


En nog een opmerking. Je gebruikt Engels en Nederlands door elkaar in je systeem ;)

PS: Ik heb een account aangemaakt... ACC: test WW: test
Je mag die verwijderen als je wilt...
Gewijzigd op 07/05/2011 11:05:35 door Danny L
 
Noppes Homeland

Noppes Homeland

07/05/2011 11:04:08
Quote Anchor link
Je loopt te kutten met redirect, niet doen!! Pas andere script logica toe.
 
Max van den Bosch

Max van den Bosch

07/05/2011 11:09:37
Quote Anchor link
@Nopppes Homeland
Hoe bedoel je?


Toevoeging op 07/05/2011 11:11:17:

Ik heb trouwens ook een speciale phphulp inlog:
Gebruikersnaam : phphulp
Wachtwoord : phphulp
 
Noppes Homeland

Noppes Homeland

07/05/2011 11:20:29
Quote Anchor link
Quote:
@Nopppes Homeland
Hoe bedoel je?

Zoals het geschreven staat.
 
Max van den Bosch

Max van den Bosch

07/05/2011 11:27:47
Quote Anchor link
Noppes Homeland op 07/05/2011 11:04:08:
Je loopt te kutten met redirect, niet doen!! Pas andere script logica toe.


En wat voor script logica? FF een voorbeeldje?
 
Uiid -

Uiid -

07/05/2011 12:05:26
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
 $u
= $_SESSION['username'];

Welcome $u  
?>

niet moeilijk doen
Gewijzigd op 07/05/2011 12:05:44 door Uiid -
 
Max van den Bosch

Max van den Bosch

07/05/2011 12:15:21
Quote Anchor link
Henk Jansen op 07/05/2011 12:05:26:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
 $u
= $_SESSION['username'];

Welcome $u  
?>

niet moeilijk doen

Nee, ik bedoelde dat van dat redirecten.
 
Danny L

Danny L

07/05/2011 12:25:02
Quote Anchor link
@ Henk Jansen
Dat is onnodig.
Dan kan je beter dit doen:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
echo $_SESSION["username"];

Maar volgens mij bedoelt hij dat dat nou niet lukt...
 
Max van den Bosch

Max van den Bosch

07/05/2011 12:28:16
Quote Anchor link
Danny L op 07/05/2011 12:25:02:
@ Henk Jansen
Dat is onnodig.
Dan kan je beter dit doen:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
echo $_SESSION["username"];

Maar volgens mij bedoelt hij dat dat nou niet lukt...


Ho! Stop!
Ik snap iets anders niet. Het gaat totaal ergens anders heen.


Ik snap niet hoe het kan dat op sommige computers de gebruikersnaam niet word weergeven. Op mijn computer doet ie het wel, maar op die van m'n oma doet hij het niet, en word de gebruikersnaam niet weergeven.
Gewijzigd op 07/05/2011 13:06:33 door Max van den Bosch
 
Uiid -

Uiid -

07/05/2011 14:29:07
Quote Anchor link
-
Gewijzigd op 07/05/2011 18:15:40 door Uiid -
 
Roel -

Roel -

07/05/2011 16:08:46
Quote Anchor link
Sodemieter dan op met je onnodige reactie als die niks toevoegt.
Probeer eens je sessie uit te lezen op jouw pc en op pc's waar ie het niet doet en vergelijk dat met elkaar (post het eventueel hier):

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
echo '<pre>'.print_r($_SESSION, true).'</pre>';
?>
 
Max van den Bosch

Max van den Bosch

08/05/2011 14:40:05
Quote Anchor link
Roel van de Water op 07/05/2011 16:08:46:
Probeer eens je sessie uit te lezen op jouw pc en op pc's waar ie het niet doet en vergelijk dat met elkaar (post het eventueel hier):

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
echo '<pre>'.print_r($_SESSION, true).'</pre>';
?>

Vanmiddag ga ik naar mijn oma, ik zal het scriptje even draaien, en dan post ik het hier. Mocht ie het toch doen, dan meld ik het ook nog.

Tot later deze middag



Toevoeging op 08/05/2011 16:01:39:

Mmmm...
Bij mijn oma doet ie het ineens wel...

OUTPUT VAN CODE ROEL DE WATER
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
Array ( [id] => 3 [username] => Y29ycmllMzI= [password] => 83e3ade19e9d1c76fd7bb9eb3ebddcd81ea923b7 [mail] => pauw32@kpnmail.nl [db_updated] => yep )
Gewijzigd op 08/05/2011 14:40:30 door Max van den Bosch
 
Jaron T

Jaron T

08/05/2011 17:32:13
Quote Anchor link
Danny L op 07/05/2011 12:25:02:
@ Henk Jansen
Dat is onnodig.
Dan kan je beter dit doen:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
echo $_SESSION["username"];

Maar volgens mij bedoelt hij dat dat nou niet lukt...


en dit is niet onnodig? Je doet een WHERE met een NAAM en je wil uit de database de naam terug krijgen.... en werk sowieso met een ID/EMAIL.. want een naam is niet uniek.

Danny L op 07/05/2011 11:01:52:
Wat raar...
Ik zie wel alles.
Maar als het niet lukt, kan je het weergeven met je database.
Dan weet je zeker dat de naam, email-adres etc. wel worden weergeven.

Als de gegevens alleen niet worden weergeven, maar de session wel bestaat kan je deze code gebruiken om de gegevens te weergeven:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
<?php
      $sql
= "SELECT * FROM `JOUW TABEL` WHERE naam = \"" .$_SESSION["naam"]."\" ";
      $resultaat = mysql_query($sql);
      $row = mysql_fetch_array($resultaat);

// VOORBEELD
echo $row["naam"];
?>


En nog een opmerking. Je gebruikt Engels en Nederlands door elkaar in je systeem ;)

PS: Ik heb een account aangemaakt... ACC: test WW: test
Je mag die verwijderen als je wilt...
Gewijzigd op 08/05/2011 17:33:15 door Jaron T
 



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.