Login Systeem werkt niet helemaal zoals het moet.

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Ventilatiesysteem Productontwikkelaar HBO WO Verwa

Samengevat: Zij bieden flexibele ventilatiematerialen, geluidsdempers, rookgasafvoer producten en industrieslangen. Ben jij een technisch productontwikkelaar? Heb jij ervaring met het ontwikkelen van nieuwe producten? Vaste baan: Technisch Productontwikkelaar HBO WO €3.000 - €4.000 Zij bieden een variëteit aan flexibele ventilatiematerialen, geluiddempers, rookgasafvoer producten, industrieslangen en ventilatieslangen voor de scheepsbouw. Met slimme en innovatieve materialen zorgen wij voor een gezonde en frisse leefomgeving. Deze werkgever is een organisatie die volop in ontwikkeling is met hardwerkende collega's. Dit geeft goede ontwikkelingsmogelijkheden. De branche van dit bedrijf is Techniek en Engineering. Functie: Voor de vacature als Technisch Productontwikkelaar Ede Gld HBO WO ga

Bekijk vacature »

Rick van der Linden

Rick van der Linden

15/10/2013 20:45:46
Quote Anchor link
Hallo,

Ik ben net begonnen met php leren en heb een simpel php login systeem gemaakt die login gegevens van een database checkt.
Ik laat bij het inloggen checken of de login overeenkomt met de login uit de database, als dat zo is zet ik de $_SESSION['loggedin']=true;
In mijn dashboard.php (mijn homepagina als ik ingelogd ben) check ik of de sessie 'loggedin' true is, zo niet dan stuurt hij je terug naar login.php met een header functie.
Mijn probleem is alleen dat de sessie de hele tijd op true blijft staan, zelfs als ik hem unset in mijn logout.php pagina.
De dashboard.php pagina stuurt je dus niet terug naar login.php wat hij wel zou moeten doen.
Hebben jullie misschien een idee? Alle hulp is welkom!

Hier mijn checklogin.php
Quote:
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
<?php
session_start();
ob_start();
include"dbconnect.php";





$user = $_POST['username'];
$pass = $_POST['password'];

if ($user&&$pass) {
$connect = mysql_connect("$host","$username","$password") or die("not connecting");
mysql_select_db("dashboard") or die("no db");
$query = mysql_query("SELECT * FROM users WHERE user_name='$user'");
$numrows = mysql_num_rows($query);
}


$sql="SELECT * FROM users WHERE user_name='$user' and user_password='$pass'";
$result=mysql_query($sql);
$count=mysql_num_rows($result);


if($count==!0){
$_SESSION['loggedin']=true;
$_SESSION['username']=$user;
header("location:dashboard.php");

}

else {
echo "Username or password incorrect, please try again";
$_SESSION['loggedin']=false;
header("location:login.php");
}





ob_end_flush();
mysql_close();

?>



Hier mijn dashboard.php homepage
Quote:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
<?php
session_start();


if ($_SESSION['loggedin']=!true) {
    header("location:login.php");
}

echo"Welcome back, " . $_SESSION['username'];

?>
 
PHP hulp

PHP hulp

26/04/2024 17:25:29
 
- SanThe -

- SanThe -

15/10/2013 21:14:20
Quote Anchor link
Nergens voor nodig, gewoon weghalen : ob_start(); en ob_end_flush();
Waarom een nieuwe variabele aanmaken? $user = $_POST['username'];
Idem voor $_POST['password']
En je checked niet of $_POST['username'] wel bestaat.
Idem voor $_POST['password']
Wat mag dit zijn? Geven ze beiden true/false? : if ($user&&$pass)
Variabelen niet tussen quotes : Dus niet "$host" maar gewoon $host
Je stopt de userinput onbeveiligd in een query. Gevolg : Lek script.
Je checked niet of de query wel is geslaagd : Foutafhandeling mist.
Bij if($count==!0) staat het uitroepteken op de verkeerde plaats : != of !==
Idem bij if ($_SESSION['loggedin']=!true)
Gewijzigd op 15/10/2013 21:15:01 door - SanThe -
 



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.