$_sessions werken niet?

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Yamahadt50r

yamahadt50r

22/05/2008 09:36:00
Quote Anchor link
Waarom werkt mijn sessie niet? Hij geeft geen error aan oid maar toch doet die het niet. Wie kan mij helpen?

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
20
21
22
23
24
25
26
27
28
29
30
31
32
<?php
$res
=
"
SELECT
    id
FROM
    leden
WHERE
    gebruikersnaam = '$_POST[gebruikersnaam]'
AND
    wachtwoord = '$_POST[wachtwoord]'
"
;
    if(!$res = mysql_query($sql))
{

trigger_error(mysql_error().'<br />In query: '.$sql);
}

        
    if(mysql_num_rows($sql) == 0) {
    echo"Deze combinatie van gebruikersnaam en wachtwoord is niet gevonden! Vul hieronder je e-mailadres in om je gebruikersnaam + wachtwoord in je mailbox te ontvangen.";
}

else
{
    while($assoc = mysql_fetch_assoc($sql)){

    $id = $assoc['id'];
    $ip = $_SERVER['REMOTE_ADDR'];
        
    $_SESSION['gebruikersid'] = $id;
    $_SESSION['ip'] = $ip;
    echo"Je bent ingelogd.";
    }

?>


En hiermee controleer ik het script:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
if( !isset($_session['gebruikersid']) OR $_session['ip'] !== $_SERVER['REMOTE_ADDR'] ) {//niet ingelogd}
?>
 
PHP hulp

PHP hulp

20/11/2024 03:46:26
 
Jacco Engel

Jacco Engel

22/05/2008 09:36:00
Quote Anchor link
en waar staat session_start?
 
Yamahadt50r

yamahadt50r

22/05/2008 09:37:00
Quote Anchor link
Dit is een geïnclude bestand. session_start staat in het bovenstaande bestand
 
Jacco Engel

Jacco Engel

22/05/2008 09:38:00
Quote Anchor link
session moet volgens mij altijd met een hoofdletter (maar da week nie zeker)
 
Yamahadt50r

yamahadt50r

22/05/2008 09:42:00
Quote Anchor link
Inderdaad, ik wist niet dat php hoofdlettergevoelig was.

Bedankt in ieder geval
(Hier heb ik nu zo'n beetje 3 uur naar zitten zoeken ;-))
 
Hipska BE

Hipska BE

22/05/2008 09:47:00
Quote Anchor link
POST, GET, SESSION, GLOBAL, ... zijn vaste variabelen en altijd in hoofdletters.

ps, wat gebeurt er als ik als wachtwoord dit invul: ?

' OR id='1

Ben ik dan ingelogd als admin? :D
Gewijzigd op 01/01/1970 01:00:00 door Hipska BE
 
Yamahadt50r

yamahadt50r

22/05/2008 09:56:00
Quote Anchor link
Nee, Dit zegt gewoon als welke gebruikersnaam je bent ingelogd. Adminpaneel gaat via een hele andere weg.

Ik had eigelijk nog een vraagje. Ik heb er al heel veel over gesearched maar nog begrijp ik Headers niet helemaal. Constant geeft die deze fout aan:

Je bent ingelogd.
Warning: Cannot modify header information - headers already sent by (output started at /<mijnsite>/index.php:15) in <mijnsite>/inloggen.php on line 42

line 42: Header("Refresh: 1; URL= $locatie");
 
Hipska BE

Hipska BE

22/05/2008 09:59:00
Quote Anchor link
je begrijpt me verkeerd, wat ik je wil aantonen is, dat ik als wie ik maar wil kan inloggen op die manier, zonder ook maar het wachtwoord te weten...

En ivm met die headers, er is al html output geweest voordat je die header(); aanroept. Die foutmelding zegt dat dan ook letterlijk..
Gewijzigd op 01/01/1970 01:00:00 door Hipska BE
 
Yamahadt50r

yamahadt50r

22/05/2008 10:03:00
Quote Anchor link
O, moet ik dan ook het wachtwoord in een sessie zetten en dan elke keer met een sql-query controleren of de combinatie gevonden wordt?

Ik had eigelijk nog een vraagje. Ik heb er al heel veel over gesearched maar nog begrijp ik Headers niet helemaal. Constant geeft die deze fout aan:

Je bent ingelogd.
Warning: Cannot modify header information - headers already sent by (output started at /<mijnsite>/index.php:15) in <mijnsite>/inloggen.php on line 42
 
Elwin - Fratsloos

Elwin - Fratsloos

22/05/2008 10:05:00
Quote Anchor link
yamahadt50r schreef op 22.05.2008 09:56:
Ik had eigelijk nog een vraagje. Ik heb er al heel veel over gesearched maar nog begrijp ik Headers niet helemaal. Constant geeft die deze fout aan:

Je bent ingelogd.
Warning: Cannot modify header information - headers already sent by (output started at /<mijnsite>/index.php:15) in <mijnsite>/inloggen.php on line 42

line 42: Header("Refresh: 1; URL= $locatie");
Op zich niet zo moeilijk toch. De foutmelding zegt precies wat er mis is. Maar goed, omdat ik de kwaadste niet ben:
PHP.net, wat ongeveer 5 seconden zoeken is:
Remember that header() must be called before any actual output is sent, either by normal HTML tags, blank lines in a file, or from PHP. It is a very common error to read code with include(), or require(), functions, or another file access function, and have spaces or empty lines that are output before header() is called. The same problem exists when using a single PHP/HTML file.
Zie http://nl.php.net/header.

[Edit: Linkfix]
Gewijzigd op 01/01/1970 01:00:00 door Elwin - Fratsloos
 
Yamahadt50r

yamahadt50r

22/05/2008 10:16:00
Quote Anchor link
Maar header mag alleen uitgevoerd worden wanneer de query gevonden wordt. Dan kan ik die toch niet boven aan de pagina zetten? En ik heb alle spaties in het inloggen bestand weggehaald. In het bovenstaande bestand (index.php) wordt de pagina database.php en inloggen.php geinclude. Moet ik in index.php ook alle spaties weghalen?

(sorry, ben heel slecht in engels, gisteren rond de 2,5 gehaald op engels tekstverklaren examen)
 
Hipska BE

Hipska BE

22/05/2008 10:21:00
Quote Anchor link
niet alleen spaties maar ook alle echo's en print's moeten weg..

en ivm met je inlogbeveiliging, kijk eens naar mysql_real_escape_string();
 
Yamahadt50r

yamahadt50r

22/05/2008 10:32:00
Quote Anchor link
Oke, moet ik dan een functie helemaal bovenaan in de pagina in index.php(bovenstaande pagina) aanroepen uit inloggen.php die de header uitvoerd?
 



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.