[PHP] sessies

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
okay ik moet voor de baas een reseller systeempie maken met login enz

nou heb ik een form.html voor het inlog formulier , een index.php voor na de login
vanuit die pagina include ik dan weer de volgende pagina`s

Index.php
|
|__stats.php
|__formulieren
|__enz

nu wil ik een sessie gebruiken om zo de id van de user te onthouden over die paginaatjes
het werkt de eerste keer ook (meteen na de login) ik krijg de data uit mysql dmv de sessie var maar als ik dan naar een andere pagina ga is de sessie weg !!
met dezelfde code is het op andere pagina`s wel gelukt

dit zijn de pagina

index.php
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
<?
session_start();
header("Cache-control: private");
session_register('id'); 

include "sqlvars.php";

        $query = "SELECT id,naam FROM reseller WHERE naam='$user' AND pass='$pass'";
        $result = mysql_query($query);
        while($reseller = mysql_fetch_array($result))
        {
        $sessionid = $reseller[0];
        $naam = $reseller[1];
        }


$_SESSION['id'] = $naam; 
echo $sessionid;


?>
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>



****  html code niet van belang ***


</html>

==================================
stats.php
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
35
36
<?
echo $_SESSION['id'];

        $query = "SELECT * FROM reseller_stats WHERE reseller_id='$id'";
        $result = mysql_query($query);
        while($grafiek = mysql_fetch_array($result))
        {
        $januari = $grafiek[4] * 10;
        $februari = $grafiek[5] * 10;
        $maart = $grafiek[6] * 10;
        $april = $grafiek[7] * 10;
        $mei = $grafiek[8] * 10;
        $juni = $grafiek[9] * 10;
        $juli = $grafiek[10] * 10;
        $augustus = $grafiek[11] * 10;
        $september = $grafiek[12] * 10;
        $oktober = $grafiek[13] * 10;
        $november = $grafiek[14] * 10;
        $december = $grafiek[15] * 10;
        }
    
?>
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>



****html code niet van beland ****


</html>


*** ja ik heb gezocht en andere codes zijn precies het zelfde aan die van mij ***

[ Voor 72% gewijzigd door Verwijderd op 16-01-2003 14:37 . Reden: layout verneuk ]


Acties:
  • 0 Henk 'm!

  • SWfreak
  • Registratie: Juni 2001
  • Niet online
session_start() vergeten in stats.php ??

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
nee dan krijg ik
code:
1
2
3
Warning: Cannot add header information - headers already sent by
 (output started at /home/sites/home/users/reseller/web/reseller/index.php:18)
 in /home/sites/home/users/reseller/web/reseller/stats.php on line 3


want stats.php word door index.php ge-include

[ Voor 10% gewijzigd door Verwijderd op 16-01-2003 14:39 ]


Acties:
  • 0 Henk 'm!

  • Shagura
  • Registratie: Augustus 2001
  • Laatst online: 14-09 08:25
Je gebruikt $_SESSION en session_register e.d. door elkaar, dit is in het algemeen sterk afgeraden. Ik zou sowiezo gewoon alleen $_SESSION gebruiken, omdat dit veel duidelijker en makkelijker is.

Acties:
  • 0 Henk 'm!

Verwijderd

nog een tip: het is nou niet bepaald een veilig script (direct user variabelen in de query zetten)

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
hoe register is dan mn sessie ?
$_SESSION['id'] = "blabla";

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Verwijderd schreef op 16 January 2003 @ 14:45:
nog een tip: het is nou niet bepaald een veilig script (direct user variabelen in de query zetten)
het is ook nog niet klaar
had eerst alles zonder sessions
den daar nu net mee begonnen

Acties:
  • 0 Henk 'm!

  • thomaske
  • Registratie: Juni 2000
  • Laatst online: 17-09 07:55

thomaske

» » » » » »

Verwijderd schreef op 16 January 2003 @ 14:46:
hoe register is dan mn sessie ?
$_SESSION['id'] = "blabla";
wat is er mis om even in de manual te kijken.. moeten we je handje vasthouden? ;)

Brusselmans: "Continuïteit bestaat niet, tenzij in zinloze vorm. Iets wat continu is, is obsessief, dus ziekelijk, dus oninteressant, dus zinloos."


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
thomaske schreef op 16 January 2003 @ 14:48:
[...]


wat is er mis om even in de manual te kijken.. moeten we je handje vasthouden? ;)
sjongejonge wat zijn we weer grappig zeg
en waar jij me heen stuurd vind ik ook alleen session register

[ Voor 10% gewijzigd door Verwijderd op 16-01-2003 14:50 ]


Acties:
  • 0 Henk 'm!

  • thomaske
  • Registratie: Juni 2000
  • Laatst online: 17-09 07:55

thomaske

» » » » » »

Verwijderd schreef op 16 January 2003 @ 14:48:
[...]


sjongejonge wat zijn we weer grappig zeg
en waar jij me heen stuurd vind ik ook alleen session register
Was inderdaad bedoelt als een grapje.. maar blijkbaar moet ik echt je handje vasthouden..
Dit is namelijk wat _ik_ vind op de php-sessie pagina:

PHP:
1
2
3
4
5
6
7
session_start();
// Use $HTTP_SESSION_VARS with PHP 4.0.6 or less
if (!isset($_SESSION['count'])) {
    $_SESSION['count'] = 0;
} else {
    $_SESSION['count']++;
}

[ Voor 5% gewijzigd door thomaske op 16-01-2003 14:54 ]

Brusselmans: "Continuïteit bestaat niet, tenzij in zinloze vorm. Iets wat continu is, is obsessief, dus ziekelijk, dus oninteressant, dus zinloos."


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
thomaske schreef op 16 January 2003 @ 14:54:

PHP:
1
2
3
4
5
6
7
session_start();
// Use $HTTP_SESSION_VARS with PHP 4.0.6 or less <=======
if (!isset($_SESSION['count'])) {
    $_SESSION['count'] = 0;
} else {
    $_SESSION['count']++;
}
ik heb alles op een cobalt met de laatste php
en wat je daar ziet staan heb ik al

[ Voor 12% gewijzigd door Verwijderd op 16-01-2003 14:57 ]


Acties:
  • 0 Henk 'm!

  • Shagura
  • Registratie: Augustus 2001
  • Laatst online: 14-09 08:25
Verwijderd schreef op 16 januari 2003 @ 14:56:
[...]


ik heb alles op een cobalt met de laatste php
en wat je daar ziet staan heb ik al
En wat werkt er nu niet dan?

[ Voor 8% gewijzigd door Shagura op 16-01-2003 14:59 ]


Acties:
  • 0 Henk 'm!

  • thomaske
  • Registratie: Juni 2000
  • Laatst online: 17-09 07:55

thomaske

» » » » » »

Verwijderd schreef op 16 January 2003 @ 14:56:
[...]


ik heb alles op een cobalt met de laatste php
Nou, dan heb je waarschijnlijk geen problemen.. als je namelijk niet de laatste php versie hebt, moet je gebruik maken van $HTTP_SESSION_VARS, aangezien dat niet het geval is, kan je dus gewoon gebruik maken van $_SESSION.

ik snap trouwens niet waarom je het niet gewoon even uittest, dan zie je meteen of het werkt of niet. Een beetje zelf initiatief tonen kan geen kwaad..

Brusselmans: "Continuïteit bestaat niet, tenzij in zinloze vorm. Iets wat continu is, is obsessief, dus ziekelijk, dus oninteressant, dus zinloos."


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
ik heb het al lang 10000 x geprobeerd

met sessionregister en $_SESSION
en hij doet het ook de eerste x maar nadat ik naar een andere pagina ga bv formulieren.php
en daarnaa weer naar terug naar stats.php dan is die weg

Acties:
  • 0 Henk 'm!

  • Shagura
  • Registratie: Augustus 2001
  • Laatst online: 14-09 08:25
Verwijderd schreef op 16 januari 2003 @ 15:00:
ik heb het al lang 10000 x geprobeerd

met sessionregister en $_SESSION
en hij doet het ook de eerste x maar nadat ik naar een andere pagina ga bv formulieren.php
en daarnaa weer naar terug naar stats.php dan is die weg
Heb je nou ipv session_register('id')
PHP:
1
$_SESSION['id'] = $_POST['id'];

gebruikt? (als je een 'nieuwe' php gebruikt is session_register namelijk gewoon ranzig)
Verder gebruik je nergens $_POST en dat is ook iets waar je problemen mee zou kunnen gaan krijgen.

Verder registreer je eerst $_SESSION['id'] (nog met session_register) en overschrijf je deze later met $_SESSION['id'] = $naam, waarmee je volgens mij in $_SESSION['id'] een hele andere waarde krijgt (de naam dus ipv het id) in je sessievar.

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
ik heb nu

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
<?
session_start();
header("Cache-control: private");
include "sqlvars.php";

        $query = "SELECT id,naam FROM reseller WHERE naam='$user' AND pass='$pass'";
        $result = mysql_query($query);
        while($reseller = mysql_fetch_array($result))
        {
        $sessionid = $reseller[0];
        $naam = $reseller[1];
        }

if (!isset($_SESSION['id'])) { 

    echo $_SESSION['id'];
        // nix doen

} else { 
  $_SESSION['id'] = $sessionid; 
 // sessie reggen
}


?>


en dat werkt niet
hij ziet helemaal geen session

[ Voor 35% gewijzigd door Verwijderd op 16-01-2003 15:16 ]


Acties:
  • 0 Henk 'm!

  • Altaphista
  • Registratie: Juli 2001
  • Laatst online: 09:07

Altaphista

1. check manual, 2. ask

bij mij werkt dit gewoon:
index.php:
PHP:
1
2
session_start();
if (!session_is_registered('my_session')) session_register('my_session');

en dan in de include file (in index) heb ik de waarde van my_session gewoon iedere keer tot mijn beschikking.
Misschien ligt het aan een of andere instelling?

[ Voor 5% gewijzigd door Altaphista op 16-01-2003 15:25 . Reden: typo ]

Je gaat het pas zien als je het doorhebt.


Acties:
  • 0 Henk 'm!

  • Shagura
  • Registratie: Augustus 2001
  • Laatst online: 14-09 08:25
Verwijderd schreef op 16 January 2003 @ 15:15:
ik heb nu

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
<?
session_start();
header("Cache-control: private");
include "sqlvars.php";

        $query = "SELECT id,naam FROM reseller WHERE naam='$user' AND pass='$pass'";
        $result = mysql_query($query);
        while($reseller = mysql_fetch_array($result))
        {
        $sessionid = $reseller[0];
        $naam = $reseller[1];
        }

if (!isset($_SESSION['id'])) { 

    echo $_SESSION['id'];
        // nix doen

} else { 
  $_SESSION['id'] = $sessionid; 
 // sessie reggen
}


?>


en dat werkt niet
hij ziet helemaal geen session
Kijk eens naar de if (!isset($_SESSION['id'])) statement en war er gebeurt als ie niet is geset...

Verder zou ik echt $_POST en $_GET gebruiken, omdat dit nu wel heeeeeeeeeel erg onveilig is (en vaak niet werkt).

[ Voor 15% gewijzigd door Shagura op 16-01-2003 15:30 ]


Acties:
  • 0 Henk 'm!

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

Janoz

Moderator Devschuur®

!litemod

Sowieso niet zo snugger bezig imho. Naast dat je de mensen die je proberen te helpen loopt af te blaffen heb je niet echt nagedacht over je flow. Op dit moment wordt elke keer je user + pass gecontroleerd. OOK als je naar stats gaat. Deze wordt immers geinclude door die index.php waardoor eerst de login check wordt uitgevoerd. Om het werkend te krijgen zul je dus elke keer user +pass mee moeten sturen.

Daarnaast vind ik je nogal slordig werken. Heb je een veldje id in je sessie en stop je er vervolgens naam in?

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


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
dat klopt tog
als de sessie er al is nix doen en als die er niet is maken
en $_post en $_get zal ik wel gebruiken maar dat heeft hier helemaal nix mee te maken

Acties:
  • 0 Henk 'm!

  • Rotjeknor
  • Registratie: April 2001
  • Laatst online: 01-04-2023
Wat bij mij tot nu toe altijd heeft gewerkt bij problemen met sessies, is ff navigeren over je site met de sessiefile open. Je ziet dan gelijk wat erin wordt gezet, of er iets in wordt gezet enz.

Ook Knor is aangestoken met het ligfietsvirus!


Acties:
  • 0 Henk 'm!

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

Janoz

Moderator Devschuur®

!litemod

Verwijderd schreef op 16 January 2003 @ 15:40:
dat klopt tog
als de sessie er al is nix doen en als die er niet is maken
en $_post en $_get zal ik wel gebruiken maar dat heeft hier helemaal nix mee te maken


Doe toch niet zo eigenwijs en ga eerst gewoon eens goed naar je source kijken voor je begint te brullen..

if (!isset($_SESSION['id'])) betekend namelijk net iets anders dan je denkt......

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


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Janoz schreef op 16 januari 2003 @ 15:39:

Daarnaast vind ik je nogal slordig werken. Heb je een veldje id in je sessie en stop je er vervolgens naam in?
als het niet werkt worden mensen (ik) radeloos :P
maar na al de reacties heb ik nog wat veranderd heb nu dit

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<?
session_start();
header("Cache-control: private");
include "sqlvars.php";

if (!isset($_SESSION['id'])) { 
    // nix doen 
    
} else { 

        $query = "SELECT id, naam FROM reseller WHERE naam='$user' AND pass='$pass'";
        $result = mysql_query($query);
        while($reseller = mysql_fetch_array($result))
        {
        $sessionid = $reseller[0];
        $naam = $reseller[1];
        }
        
        $_SESSION['id'] = $sessionid; 
}

echo $_SESSION['id'];
?>


en geen session |:(
ik zie misschien iets heel doms over het hoofd maar ik zit al 2 uur naar die code te staren en zie het egt niet :O

[ Voor 15% gewijzigd door Verwijderd op 16-01-2003 15:46 ]


Acties:
  • 0 Henk 'm!

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

Janoz

Moderator Devschuur®

!litemod

Lees nog ff mijn reactie en probeer eens uit te leggen wat jij denkt wat de expressie
PHP:
1
!isset($_SESSION['id'])
betekend.

[ Voor 5% gewijzigd door Janoz op 16-01-2003 15:50 ]

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


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
ok ik heb die if en else omgedraait en het werkt

ik vind het zelf errrruggg onlogisch maar het werkt dus ik zeg nix meer

bedankt allen voor de moeite
_/-\o_ _/-\o_ _/-\o_ _/-\o_ :)

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Janoz schreef op 16 januari 2003 @ 15:49:
Lees nog ff mijn reactie en probeer eens uit te leggen wat jij denkt wat de expressie
PHP:
1
!isset($_SESSION['id'])
betekend.
IsSet is : als het bestaat

dus als de sessie bestaat
doe dan * .... in mijn geval nix

Acties:
  • 0 Henk 'm!

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

Janoz

Moderator Devschuur®

!litemod

En wat betekent het uitroeptekentje?

[ Voor 3% gewijzigd door Janoz op 16-01-2003 16:07 ]

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


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
hmmm daar kan je wel gelijk hebben ik heb namelijk geeeen id wat die betekent

Acties:
  • 0 Henk 'm!

  • Altaphista
  • Registratie: Juli 2001
  • Laatst online: 09:07

Altaphista

1. check manual, 2. ask

Janoz schreef op 16 januari 2003 @ 16:00:
En wat betekend het uitroeptekentje?
Hmm als je dat soort vragen hier al moet stellen, dan is het aannameniveau van wat mensen wel en niet weten toch gedaald de laatste tijd :)

en het is trouwens betekent

Je gaat het pas zien als je het doorhebt.


Acties:
  • 0 Henk 'm!

  • Michali
  • Registratie: Juli 2002
  • Laatst online: 29-05 22:54
om je ff te helpen, het is een logische NOT dus:

!true = false
en
!false = true

dus als
isset($var) == true
dan
!isset($var) == false

simpel toch

Noushka's Magnificent Dream | Unity


Acties:
  • 0 Henk 'm!

Verwijderd

Michali schreef op 16 januari 2003 @ 16:09:
om je ff te helpen, het is een logische NOT dus:

!true = false
en
!false = true

dus als
isset($var) == true
dan
!isset($var) == false

simpel toch
FF op *topicstarters* nivo ( :+ )
! beteken(d/t?) niet

niet true is dus false

[ Voor 9% gewijzigd door Verwijderd op 16-01-2003 16:15 ]


Acties:
  • 0 Henk 'm!

  • Michali
  • Registratie: Juli 2002
  • Laatst online: 29-05 22:54
Verwijderd schreef op 16 januari 2003 @ 16:13:
[...]

FF op *topicstarters* nivo ( :+ )
! beteken(d/t?) niet

niet true is dus false
ik geloof dat ik dat zo ongeveer zei :? :o

Noushka's Magnificent Dream | Unity


Acties:
  • 0 Henk 'm!

Verwijderd

Michali schreef op 16 January 2003 @ 16:24:
[...]


ik geloof dat ik dat zo ongeveer zei :? :o
nofi, maar misschien snapt ie dat niet :+

Acties:
  • 0 Henk 'm!

Verwijderd

Goh, dacht je echt dat ie dat vroeg? :P Als je terug kijkt, zie je dat hij deze regel code gaf, en met deze opmerking probeert ie die user te sturen :)

[ Voor 6% gewijzigd door Verwijderd op 17-01-2003 09:39 ]


Acties:
  • 0 Henk 'm!

  • djluc
  • Registratie: Oktober 2002
  • Laatst online: 12:56
Maar begrijpen doe je het dus eigenlijk nog steeds niet, das ook lekker geïnteresseerd. :))
Pagina: 1