Inlog script logt niet in

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Koen Hollander

Koen Hollander

24/10/2012 15:35:28
Quote Anchor link
Hey,

Dit is mijn eerst database script dus niet opkijken als hij vol zit met fouten.

Hij checkt of er waarde in de db gelijk is een de post waarde. Ik denk dat hij het tegenovergestelde doet.
Wat is er mis?

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
<?php
include ('config.php');
$squser = 'SELECT username FROM users LIMIT 1';
$squserf = mysql_fetch_array($squser);
$sqpass = 'SELECT password FROM users LIMIT 1';
$sqpassf = mysql_fetch_array($sqpass);
if($_SERVER['REQUEST_METHOD'] != 'POST') {
?>

<html>
<head>
<title>KoHoSen</title>
</head>
<body>
<form method='post'>
<input type='text' name='username' value='Gebruikersnaam'><br>
<input type='password' name='password' value='Wachtwoord'><br>
<input type='submit' name='submit' value='Inloggen'><br>
</form>
</body>
</html>
<?php
} else {
if ($squserf == $_POST['username'] AND $sqpassf == $_POST['password'])
$_SESSION['goed'] == true;
header('Location: editor/editor.php');
}

?>


Koen Hollander
 
PHP hulp

PHP hulp

21/11/2024 13:09:12
 
- SanThe -

- SanThe -

24/10/2012 15:42:56
Quote Anchor link
Die twee query's kunnen uiteraard in één query.
Je voert de query nergens uit.
Gewijzigd op 24/10/2012 15:44:06 door - SanThe -
 
Q S

Q S

24/10/2012 15:47:43
 
Rick van Riel

Rick van Riel

24/10/2012 15:49:48
Quote Anchor link
Waarom je login niet werkt is doordat de $_SESSION['goed'] niet word aangemaakt. Zet boven in je php script session_start();, daarmee kun je sessies aanmaken.

Ook is de manier waarop je kijkt of iemand is ingelogd niet goed. Op dit moment voer je namelijk geen query uit.
Om een query uit te voeren gebruik je de functie mysql_query();. Als je de query hebt uitgevoerd dan kun je mysql_fetch_array(); gebruik om de waardes uit je database op te slaan in een array.

Hier is een voorbeeld van hoe ik het zou aanpakken:

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
<?php
session_start();
include ('config.php');
if($_SERVER['REQUEST_METHOD'] == 'POST') {

    $userQuery = mysql_query("
        SELECT
            username, password
        FROM
            users
        WHERE
            username = '"
.mysql_real_escape_string($_POST['username'])."'
        AND
            password = '"
.mysql_real_escape_string($_POST['password'])."'
    "
);

    if(mysql_num_rows($userQuery) > 0) {

        $_SESSION['loggedin'] = true;

        header('location: editor/editor.php');

    }
}

?>
 
Koen Hollander

Koen Hollander

24/10/2012 16:00:41
Quote Anchor link
ik zal daar eens uitgebreid naar kijken, bedankt.
 
Andy V

Andy V

24/10/2012 18:15:38
Quote Anchor link
je neemt 1 paswoord en 1 user uit de database met een aparte query waar het ook maar overeenkomt dus stel nu als je het echt zou gebruiken en als iemand inlogt met jou gebruikersnaam en zijn wachtwoord gaat hij kunnen inloggen

in de plaats daarvan moet je query kijken in 1 rij waar de username en het wachtwoord matchen..
kijk bijvoorbeeld de query van Rick die zou wel goed zijn.
 



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.