krijg geen SESSION id en rang

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Php knipper

php knipper

03/07/2011 11:57:01
Quote Anchor link
ik heb een inlogpagina gemaakt waar dat "normaal" 4 sessions moeten worden gemaakt namelijk
id = id van de gebruiker
rang = om te weten welke pagina hij mag bekijken en welke niet
gebruikersnaam = voor de begroeting en voor de mysql conections
gebruiker = deze heeft nog geen functie

maar nu test ik of ik alle sessions heb en nu zegt die dat er geen id of rang kan worden aangetroffen. Ik krijg geen error dus tast ik wat in het duister. Hieronder de code die de session aanmaakt
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
<?php
    if(mysql_result($qActivatie,0) != 0) {
        echo 'Sorry, u gebruiker is nog niet geactiveert <ahelp\registratie\mail.php" target="_blank">hebt u de mail niet ontvangen?</a>.';
    }
elseif(mysql_num_rows($qLogin) == 0) {
        echo 'De gebruikersnaam/wachtwoord combinatie is niet correct probeer het nog eens.';
    }
else {
        $q1 = "SELECT id, rang FROM gebruikersnaam WHERE gebruikersnaam = '".($_POST['gebruikersnaam'])."'";
        // Alles ok, inloggen dus.
        // Nu is 1 ding belangerijk:
        // ZORG DAT ER EEN session_start() GEPLAATST IS, HETZIJ IN JE INDEX.PHP WAAR
        // DEZE PAGINA IN GEPLAATS WORDT, HETZIJ BOVENAAN DEZE PAGINA (ALS ER GEEN
        // INCLUDESYSTEEM IS)!!!

        $_SESSION['rang'] = $row['rang'];
        $_SESSION['id'] = $row['id'];
        $_SESSION['gebruiker'] = mysql_result($qLogin, 0);
        $_SESSION['gebruikersnaam'] = $_POST['gebruikersnaam'];
        // Mocht je nog andere data willen in je sessie,
        // zoals een level, dien je dit hier te plaatsen.

        ?>

U word ingelogd... <br>
<META HTTP-EQUIV=Refresh CONTENT="1; URL=home.php">;
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
    }
?>


Wat doe ik fout en hoe los ik het op
Gewijzigd op 03/07/2011 13:01:57 door Php knipper
 
PHP hulp

PHP hulp

25/04/2024 01:08:04
 
Vincent Huisman

Vincent Huisman

03/07/2011 12:00:27
Quote Anchor link
heb je wel session_start() beven aan de pagina staan?
 
Noppes Homeland

Noppes Homeland

03/07/2011 12:08:18
Quote Anchor link
Ga eens terug naar de basis van "Hoe haal ik data uit m'n database tabel"

_connect
_select_db
_query
_fetch_
_close

_error
_errno

session_start

En dat alles is te vinden op: http://www.php.net
 
Tobias Tobias

Tobias Tobias

03/07/2011 12:13:03
Quote Anchor link
session_start()

ps: ingelocht = ingelogt
 
Php knipper

php knipper

03/07/2011 12:17:34
Quote Anchor link
ok de session start staat vanboven ( op iedere pagina staat dat en ook een mysql verbinding ( voor de zekerheid )

Toevoeging op 03/07/2011 12:18:12:

ik denk dat ik iets fout doe bij het plaatsen van de gegevens in de session
 
Tobias Tobias

Tobias Tobias

03/07/2011 12:21:43
Quote Anchor link
wat doet $q1? Zoals het er nu staat is het alleen maar een string

Voer eerst de query goed uit voordat je een $row kunt weergeven. Kijk even wat Noppes heeft geschreven
 
- SanThe -

- SanThe -

03/07/2011 12:55:57
Quote Anchor link
Tobias Tobias op 03/07/2011 12:13:03:
ps: ingelocht = ingelogt


ingelogt = ingelogd
 
Tobias Tobias

Tobias Tobias

03/07/2011 13:01:11
Quote Anchor link
- SanThe - op 03/07/2011 12:55:57:
Tobias Tobias op 03/07/2011 12:13:03:
ps: ingelocht = ingelogt


ingelogt = ingelogd


klopt
 
Php knipper

php knipper

03/07/2011 13:55:12
Quote Anchor link
ok ik heb alles doorgenomen maar welke functie moet ik gebruiken om de gegevens van sql in een session te krijgen?
 
Noppes Homeland

Noppes Homeland

03/07/2011 14:26:55
Quote Anchor link
Zie post dd 03/07/2011 12:08:18
Als je daar niet mee uit de voeten kunt, dan moet je erbij stilstaan of dit niet te hoog gegrepen is voor dit moment.

Als je zelf niets probeerd, zal er ook nooit wat van worden.

M.a.w.: probeer eens wat gelezen info op te slaan en te gebruiken in je scripts.
 
Php knipper

php knipper

03/07/2011 15:48:34
Quote Anchor link
ik weet het.
maar er zijn zoveel functies om gegevens van mysql weer te geven. maar ik weet niet welke ik moet gebruiken om die in een session te steken.

php.net heb ik al helemaal doorzitten lezen. ik heb al een paar code's kunne maken zoals een profielpagina,nieuwsbrief,inlogsysteem ( waar ik nu wat aanpassingen aan doe ) en een registratie emfyseem ( waar ik hulp bij heb gekregen van een form op phphulp )

-( het moet gewoon zeer duidelijk uitworden gelegd wat de functie doet en waarvoor je die gebruikt en dat is op dit moment het probeem )-
 
Php knipper

php knipper

05/07/2011 10:58:08
Quote Anchor link
Ok, ik heb de code verandert nu krijg ik al de session id maar deze is leeg als ik hem test. Warom werkt het neit en hoe los ik het op ?

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
<?php
 {
        $sql = "SELECT id, rang FROM gebruikers WHERE gebruikersnaam ='".$_POST['gebruikersnaam']."'";
        $resultaat = mysql_query($sql) OR die ("Kon geen verbinding maken met MySQL");
        $id = htmlspecialchars($rij->id);
        $rang = htmlspecialchars($rij->rang);
        // Alles ok, inloggen dus.
        // Nu is 1 ding belangerijk:
        // ZORG DAT ER EEN session_start() GEPLAATST IS, HETZIJ IN JE INDEX.PHP WAAR
        // DEZE PAGINA IN GEPLAATS WORDT, HETZIJ BOVENAAN DEZE PAGINA (ALS ER GEEN
        // INCLUDESYSTEEM IS)!!!

        $_SESSION['rang'] = $rang;
        $_SESSION['id'] = $id;
        $_SESSION['gebruiker'] = mysql_result($qLogin, 0);
        $_SESSION['gebruikersnaam'] = $_POST['gebruikersnaam'];
        // Mocht je nog andere data willen in je sessie,
        // zoals een level, dien je dit hier te plaatsen.

        ?>

U word ingelogd... <br>
<META HTTP-EQUIV=Refresh CONTENT="1; URL=home.php">;
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
    }
?>
 
- SanThe -

- SanThe -

05/07/2011 11:21:07
Quote Anchor link
Noppes Homeland op 03/07/2011 12:08:18:
_connect
_select_db
_query
_fetch_
_close


Foutafhandeling ontbreekt en verder mis je nog een stap uit bovenstaand rijtje.
 
Maikel  B

Maikel B

05/07/2011 11:33:58
Quote Anchor link
waarom zou je 4 aparte sessies maken?
Als je alleen de id in een sessie zet dan kun je toch dmv een query de gebruikersnaam en rang uit de database halen?
 
Kevin Ellen

Kevin Ellen

05/07/2011 11:54:54
Quote Anchor link
Maikel B op 05/07/2011 11:33:58:
waarom zou je 4 aparte sessies maken?
Als je alleen de id in een sessie zet dan kun je toch dmv een query de gebruikersnaam en rang uit de database halen?

Dan blijf je de DB querien? Object aanmaken anders en deze opslaan in de sessie? Sessie mag best een array zijn, toch?
 

05/07/2011 12:18:21
Quote Anchor link
Kevin Ellen op 05/07/2011 11:54:54:
Maikel B op 05/07/2011 11:33:58:
waarom zou je 4 aparte sessies maken?
Als je alleen de id in een sessie zet dan kun je toch dmv een query de gebruikersnaam en rang uit de database halen?

Dan blijf je de DB querien? Object aanmaken anders en deze opslaan in de sessie? Sessie mag best een array zijn, toch?


$_SESSION is al een array.
 
Kevin Ellen

Kevin Ellen

05/07/2011 12:26:21
Quote Anchor link
Karl Karl op 05/07/2011 12:18:21:
Kevin Ellen op 05/07/2011 11:54:54:
Maikel B op 05/07/2011 11:33:58:
waarom zou je 4 aparte sessies maken?
Als je alleen de id in een sessie zet dan kun je toch dmv een query de gebruikersnaam en rang uit de database halen?

Dan blijf je de DB querien? Object aanmaken anders en deze opslaan in de sessie? Sessie mag best een array zijn, toch?


$_SESSION is al een array.

Doh! Thanks :)
 
Php knipper

php knipper

05/07/2011 17:34:23
Quote Anchor link
Maikel B op 05/07/2011 11:33:58:
waarom zou je 4 aparte sessies maken?
Als je alleen de id in een sessie zet dan kun je toch dmv een query de gebruikersnaam en rang uit de database halen?


dit is omdat ik ander's iedere keer met de database moet verbinden

_connect ( gebeurt op iedere pagina op rij 2 )
_select_db ( gebeurt )
_query ( zover ik op php.net kan zien gebeurt dat )
_fetch_ ( dit kan fout zijn omdat ik niet precies weet wat het doet )
_close ( waarom doe je dat ( dat doet de pagina toch als hij volledig geladen is.))

sorry maar ik ben nog maar aan het leren. normaal volg ik een tutorial maar de rang en de id stonden er niet in ( er stond niet hoe je iets van een mysql in een session stak ).
Gewijzigd op 05/07/2011 17:34:39 door php knipper
 
- SanThe -

- SanThe -

05/07/2011 18:33:32
Quote Anchor link
Zie de basic tutorials op www.phptuts.nl
 



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.