SESSIE niet meegenomen naar nieuwe pagina?

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Jeroen

Jeroen

22/03/2006 11:31:00
Quote Anchor link
Hallo,

Ik heb een pagina waarop mensen kunnen inloggen.

Code:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
if($_POST['inloggen'])
  {
   $wachtwoord = $_POST['wachtwoord'];
   $gebruikersnaam = $_POST['gebruikersnaam'];
  
   if($gebruikersnaam == 'iets' AND $wachtwoord == 'iets')
     {
         $_SESSION['gebruikersnaam'] = $gebruikersnaam;
      $_SESSION['wachtwoord'] = $wachtwoord;
      if($_SESSION['gebruikersnaam'] && $_SESSION['wachtwoord'])
        {
        ?>

<script language="javascript">
alert("Je bent succesvol ingelogd");
</script>
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
        }
      
      ?>

<script language="javascript">
window.open("admin/index.php");
</script>
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
<?php
     }
   else
     {
         print("Gebruikersnaam of wachtwoord is onjuist, probeer het nog eens");
     }
  }

?>



Dit gaat allemaal goed en krijg netjes de melding dat ik ingelogd ben.

Nu linkt hij doormiddel van Javascript door naar een andere pagina en zegt hij op deze pagina dat ik niet ingelogd ben. Ik vind dat een beetje vaag omdat de sessie wel bestaat (zoals gecontroleerd bij het inloggen).

code op de pagina waar naartoe gelinkt wordt.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
<?php
session_start();

if($_SESSION['gebruikersnaam'])
  {

  print("U bent succesvol ingelogd");
  //hier staat dan de rest van de pagina  
}
else
{
    print("U moet ingelogd zijn om de pagina te bekijken");
}

?>
 
PHP hulp

PHP hulp

17/11/2024 01:50:28
 
Mark D

Mark D

22/03/2006 11:36:00
Quote Anchor link
if($_SESSION['gebruikersnaam']) (tweede pagina)

kan niet, nou geef je geen voorwaarden voor de if

if($_SESSION['gebruikersnaam'] == $gebruiker)

Zoiets op nieuwe pagina wel gebruiker definieren
Gewijzigd op 22/03/2006 11:36:00 door Mark D
 
Jeroen

Jeroen

22/03/2006 11:37:00
Quote Anchor link
zou het ook kunnen met

if(isset($_SESSION['gebruikersnaam'])

?
 

22/03/2006 11:47:00
Quote Anchor link
@Jeroen: Zo kan je if ook of met empty($_see

@mark: Deze if test of er inhoud in de var staat. Dus ok.

Door dat op inlogpagina geen sesssion_start staat wordt bij de tweede pagina een nieuwe sessie aangemaakt.
 
Arjan Kapteijn

Arjan Kapteijn

22/03/2006 11:50:00
Quote Anchor link
Je zet een wachtwoord in een sessie? Dat is al stom... maar dat ook nog eens 'plain tekst' is gewoon... tja...

Ik wil er later wel op terugkomen maar heb nu les.
 
Jeroen

Jeroen

22/03/2006 11:56:00
Quote Anchor link
Het wachtwoord staat wel geencrypted in de database
 
Arjan Kapteijn

Arjan Kapteijn

22/03/2006 11:58:00
Quote Anchor link
Maak een random string, sha1() dat, pleur dat in de database en de sessie. Daarna kan je aan de hand van die string weer controlleren hoe en wat. Ipv dat je userid's, namen en wachtwoorden in een sessie zet.
 

22/03/2006 12:18:00
Quote Anchor link
Met Arjan eens maar is geen antwoord op de vraag.
 
Dutchcamel

dutchcamel

22/03/2006 13:05:00
Quote Anchor link
Volgens mij geeft MarDek het antwoord al. In je eerste stukje code staat geen session_start() dus valt er weinig op te slaan zonder sessie...
 



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.