Login script 2

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Milo

Milo

03/09/2009 19:04:00
Quote Anchor link
Beste,
Na aanleiding van het andere forum ben ik ook maar even aan de slag gegaan aan een login script.
En nu vroeg ik me af wat jullie van het volgende script vinden, en of jullie nog fouten onvolledigheden vinden.

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
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
<?php
// Sessie starten
session_start();

// Database connectie maken
include('config.php');

if($_SERVER['method_request'] == 'POST')
{

    // Kijken of er niet iets is vergeten anders een error
    if(!isset($_POST['username']))
    {

        echo 'U bent vergeten uw gebruikersnaam in te vullen<br>';
        login_form();
    }

    else
    {
        if(!isset($_POST['password']))
        {

            echo 'U bent vergeten uw wachtwoord in te vullen<br>';
            login_form();
        }

        else
        {
    
            // Alles uit de database halen
            $sql = mysql_query("SELECT
                                    gebruikersnaam, wachtwoord
                                FROM
                                    gebruikers
                                WHERE
                                    gebruikersnaam = '"
.mysql_real_escape_string($_POST['username'])."'
                                AND
                                    wachtwoord = '"
.mysql_real_escape_string(md5($_POST['password']))."'"));
            // Kijken of de query is gelukt
            if(mysql_query($sql))
            {

                echo 'Sorry, er is helaas iets fout gegaan met onze database probeer het opnieuw<br>';
                login_form();
            }

            else
            {
                if(mysql_num_rows($sql) == '')
                {

                    echo 'Uw wachtwoord / gebruikersnaam combinatie is niet correct<br>';
                    login_form();
                }

                else
                {
                    $_SESSION['login'] = $_POST['username'];
                    
                    // Doorsturen naar de volgende pagina
                    header('Location: next.php');
                }
            }
        }
    }        
}

else
{
    // Het formulier laten zien
    login_form();
}


// Het login formulier.
function login_form()
{

    echo '<form action="" method="post">';
        echo 'Gebruikersnaam: <input name="username" type="text"><br>';
        echo 'Wachtwoord: <input name="password" type="password"><br>';
        echo '<input type="submit" value="Log in">';
    echo '</form>';
}

?>
Gewijzigd op 01/01/1970 01:00:00 door Milo
 
PHP hulp

PHP hulp

19/04/2024 02:13:26
 
- SanThe -

- SanThe -

03/09/2009 19:11:00
Quote Anchor link
Weet je wel wat je hier aan het doen bent?
if(mysql_num_rows($sql) == '')


Wat is het nut van de session setten en dan kijken of ie geset is?
Als het setten niet zou werken dan heb je nog wél de gesette variable.
Dus zinloos om te doen.
$_SESSION['login'] = $_POST['username'];
// Kijken of sessie echt is aangemaakt
if(!isset($_SESSION['login']))
 
Milo

Milo

03/09/2009 19:38:00
Quote Anchor link
Ja ik weet wat ik daar aan het doen ben,
namelijk: ik kijk of het aantal resultaten uit de query gelijk is aan nul als dat zo is dan komt jou gebruikersnaam / wachtwoord combinatie niet voor in de database dus error anders, verder met het gewone script.

Hmm, als ik het goed begrijp kan er dus niks fout gaan met het zetten van een sessie??
 

03/09/2009 19:40:00
Quote Anchor link
In een functie hoor je niets te echo-en....
 
Milo

Milo

03/09/2009 19:43:00
Quote Anchor link
Okok, dat wist ik nog niet ;) moet ik dan gewoon alleen het woord echo weghalen en dan bij login_form echo er voor zetten?
 
- SanThe -

- SanThe -

03/09/2009 19:47:00
Quote Anchor link
SanThe schreef op 03.09.2009 19:11:
Weet je wel wat je hier aan het doen bent?
if(mysql_num_rows($sql) == '')

Sorry, mijn fout. Ik bedoelde deze regel. Wat doe je daar?
if(!mysql_query($sql))

Milo schreef op 03.09.2009 19:38:
Hmm, als ik het goed begrijp kan er dus niks fout gaan met het zetten van een sessie??

Tuurlijk wel. Haal session_start() bovenin maar eens weg. Dan komt er niks in de session te staan, maar als jij dan toch dit doet:
$_SESSION['login'] = $_POST['username'];
Dan is op dat moment $_SESSION['login'] wél geset, maar als gewone variabele en niet in een session.
Gewijzigd op 01/01/1970 01:00:00 door - SanThe -
 
Milo

Milo

03/09/2009 19:53:00
Quote Anchor link
Hmm, Daar kijk ik of de query wel gelukt is, maar ik zie denk ook wat je bedoelt de ! voor mysql_query niet waar? dit is iets waar ik vaak over struikel... is het nu wel of niet met een !, vind ik verwarrend

Okok dus het is een overbodig stukje? dan zal ik het verwijderen
 
- SanThe -

- SanThe -

03/09/2009 20:02:00
Quote Anchor link
$sql = mysql_query("SELECT......);
// Kijken of de query is gelukt
if(mysql_query($sql))

In $sql zit al een result van een query en daar voer jij weer een query op uit.

Edit: Een uitroepteken (!) is NOT. Oftewel het tegengestelde van.
if('a' == 'a') // true
if(!'a' == 'a') // false
Gewijzigd op 01/01/1970 01:00:00 door - SanThe -
 
Afra ca

Afra ca

03/09/2009 20:29:00
Quote Anchor link
Functies horen iets te returnen. Hier echt niet nodig. Als je echt zo lui bent zet je je formulier even in een string var en dan echo $form
 
Milo

Milo

03/09/2009 22:30:00
Quote Anchor link
Ben niet lui vind het alleen netter...
 
Marco PHPJunky

Marco PHPJunky

03/09/2009 22:33:00
Quote Anchor link
Ben je dit script nog aan het uitbreiden of niet meer...

Zo niet dan mis ik nog wat (kan hoeft niet):
De status van de gebruiker..
Bijvoorbeeld: als de gebruiker op niet actief word/is gezet dat hij/zei dan niet kan inloggen ofzo....
 
Milo

Milo

03/09/2009 22:43:00
Quote Anchor link
Nee, het is alleen voor gebruik bij bijv een admin systeem en anders kan ik hem altijd nog uitbreiden
 
Marco PHPJunky

Marco PHPJunky

03/09/2009 22:46:00
Quote Anchor link
Oke dan, als je er rekening mee houd is dat mooi...
 
Milo

Milo

03/09/2009 22:48:00
Quote Anchor link
Maar het zou indd wel een goede zijn voor bijv fora etc..
Ik ga er over denken om dan dat er bij te voegen.. ;) want ben ook bezig met een forum scripten hoewel dat mij nog niet goed afgaat
 



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.