Session probleem gaat naar ELSE terwijl de sessie gewoon bestaat

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Koen -

Koen -

15/11/2010 15:17:52
Quote Anchor link
Ik heb een probleem met een session die ik aanmaak op een login pagina. Hij pakt namelijk de else in de index pagina hoewel er in de if naar een sessie wordt gevraagd en deze toch echt bestaat. Via error reporting heb ik al fouten proberen te vinden, deze heb ik verder niet gevonden.

Login.php
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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
<?php


require_once('config.php');


 if(isset($_POST['userName']))
  {

    $userName = mysql_real_escape_string($_POST['userName']);
    $password = md5(mysql_real_escape_string($_POST['password']));
              $selectUser = "SELECT
                              db_user.id,
                              db_user.UserName,
                              db_user.Password
                            FROM
                              db_user
                             WHERE
                              db_user.UserName =  '"
.$userName."' AND
                              db_user.Password =  '"
.$password."'
                            Limit 1"
;
            $resultUser = mysql_query($selectUser);
            $aantal_bedrijven=mysql_num_rows($resultUser);
            if($aantal_bedrijven >0)
            {
  
              while($rowUser = mysql_fetch_array($resultUser))
                      {
                                              
                         header('Location: http://www.puurdb.nl/winkels/puuroranje/index2.php');
                         echo 'U bent ingelogd';
                         $_SESSION['user']=$rowUser['id'];
                      }
                    }

                    else
                    {
                      echo('Verkeerd wachtwoord.');
                    }
  }

    else
            {
                echo '
               <form action="login.php" method="post">        
        
               <div class="login"> Gebruiksnaam <input type="text" name="userName"></br>
               <div class="login"> Wachtwoord <input type="password" name="password"></br>      
               <input type="submit" value="submit" name="submit">        
               </form>    
              '
;
            }

?>


Index.php
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
<?php

  include('config.php');
  require_once('header.php');
 
  
  
  if(isset($_SESSION['user']))
  {

    
    include('functions.php');
        
// VERDERE IF RESULTS

}
    else
        {
          include('functions.php');
          include('login.php');
        }

  require_once('footer.php');
 ?>


Suggesties/tips zijn altijd welkom ;)
 
PHP hulp

PHP hulp

05/11/2024 11:28:59
 
Gerhard l

gerhard l

15/11/2010 15:51:53
Quote Anchor link
session_start bij index.php in ieder geval

Toevoeging op 15/11/2010 15:52:24:

bij login.php ook session starten
 
Koen -

Koen -

15/11/2010 16:02:05
Quote Anchor link
Het werkt bedankt! Maar raar dat dit niet hoeft bij mijn andere login script (de login pagina). Verder alsnog bedankt!
 
Marco V

Marco V

15/11/2010 17:18:50
Quote Anchor link
Nee hoor, niets is raar, het is logisch!

Op het moment dat je een waarde uit de $_SESSION wilt gebruiken of wilt toevoegen moet eerst de sessie gestart worden in je script.

Je hebt in je index.php de login.php als include, dus als je in index.php al de sessie hebt gestart dan is deze ook in je login.php beschikbaar.

Misschien moet je overwegen om niet include maar juist require te gebruiken. Als de pagina (om wat voor reden dan ook) niet beschikbaar is wordt deze overgeslagen bij een include. Is het een require dan volgt er een error aangezien deze required (vereist) is!

Succes!
 



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.