SESSIE niet meegenomen naar nieuwe pagina?
Ik heb een pagina waarop mensen kunnen inloggen.
Code:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
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'])
{
?>
{
$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>
<script language="javascript">
window.open("admin/index.php");
</script>
Code (php)
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)
1
2
3
4
5
6
7
8
9
10
11
12
13
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");
}
?>
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");
}
?>
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
if(isset($_SESSION['gebruikersnaam'])
?
@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.
Ik wil er later wel op terugkomen maar heb nu les.
Het wachtwoord staat wel geencrypted in de database
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.
Met Arjan eens maar is geen antwoord op de vraag.
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...