Versio

[Revieuw] Inlogsysteem

Overzicht Reageren

Victor Php

Victor Php

04/10/2010 19:28:31
Quote Anchor link
Hallo allemaal,

Ik heb een inlogsysteem gemaakt.
Het is alleen nog het inlog gedeelte, maar ik vroeg me toch af of ik nog wat kon verbeteren of iets kon toevoegen.

Dit is het script:

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
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
<?php
session_start();

    //Setting- en databasegegevens ophalen
    include 'includes/config.php';

//Inlogform
    $inlogform = '
<form action="" method="POST">
Gebruikersnaam:<br />
<input type="text" name="gebruikersnaam"><br />
Wachtwoord:<br />
<input type="password" name="wachtwoord"><br />
<input type="submit" value="Inloggen">
</form>'
;

    //Kijken of er gepost is
if($_SERVER['REQUEST_METHOD'] == 'POST')
    {

    
    //Alle fouten worden in een array gezet
    $errors = array();
    
    //Kijken of er iets ingevuld is
    if(!isset($_POST["gebruikersnaam"]) && !isset($_POST["wachtwoord"]))
    {

    //Zoniet, de error in de array zetten
        $errors[] = 'U hebt niet alles ingevuld!';
    }

    
    //Kijken of gebruikersnaam en wachtwoord overeenkomen in de database
        $salt = "ge5heim8es3al8t";
    $query_gebruiker = "SELECT gebruikersnaam, wachtwoord FROM leden WHERE gebruikersnaam = '".mysql_real_escape_string($_POST['gebruikersnaam'])."' AND wachtwoord = '".md5($_POST['wachtwoord'] . $salt)."'";
    if(!$uitvoeren_gebruiker = mysql_query($query_gebruiker);
    {

        echo 'Er ging wat mis door een database fout. Contacteer de webmaster!';
    }

    else
    {
    $result_gebruiker = mysql_num_rows($uitvoeren_gebruiker);
    
    if($result_gebruiker == 0)
    {

    //Zoniet, de error in de array zetten
        $errors[] = 'Uw inlog combinatie is fout!';
    }
    

    //Errors tellen
         if(count($errors) != 0)
         {

        
         if(count($errors) == 1)
         {

         echo 'Er is 1 fout gevonden:';
         echo '<br />';
         foreach($errors as $error)
        {

            echo $error;
        }

        
        echo '<br /><br />';
        echo $inlogform;
        }

        else
        {
        
        echo 'Er zijn '.count($errors).' fouten gevonden:';
        echo '<br />';
        foreach($errors as $error)
        {

            echo $error;
        }

        echo '<br /><br />';
        echo $inlogform;
        }
        }

        else
        {
        
        //sessies maken
        $_SESSION['ingelogd'] = true;
        $_SESSION['gebruikersnaam'] = $gebruikersnaam;
        
        //Doorgestuurd worden naar...
        header('Location:'.$header_inloggen);
                exit;
        
        }
        }
        }

        else
        {
        //Loginform
        echo $inlogform;

}


?>




Alvast bedankt voor het kijken!

GreetzZzZzz,,
Victor
Gewijzigd op 04/10/2010 22:29:05 door Victor Php
 
PHP hulp

PHP hulp

25/05/2012 14:44:34
Gesponsorde koppelingen:
 
Niels Kieviet
Beheerder

Niels Kieviet

04/10/2010 19:29:58
Quote Anchor link
Slecht eigenlijk.

Vind het geheel onoverzichtelijk.

EDIT: Review is zonder u.
Gewijzigd op 04/10/2010 19:30:26 door Niels Kieviet
 
Karl Karl

Karl Karl

04/10/2010 19:37:12
Quote Anchor link
- Error reporting e.d. altijd uit op live site.
- Inline html rommel -> fout.
- Html of xhtml?
- $fout_inloggen_1 & $fout_inloggen_2 wtf?
- WTF voor onzin bij errors tellen?

En nog wat vage onoverzichtelijke rommel zoals Niels dus ook al aangeeft.

Afgekeurd dus.
Gewijzigd op 04/10/2010 19:44:01 door Karl Karl
 
Th van

Th van

04/10/2010 19:45:17
Quote Anchor link
Misschien kun je een beetje overzichtelijker gaan werken, door overal netjes in te springen. Zo kun je er niks van maken, voor al het laatste gedeelte.
 
Pim -

Pim -

04/10/2010 19:48:45
Quote Anchor link
En altijd dood gaan na een redirect!!!
 
Victor Php

Victor Php

04/10/2010 19:55:28
Quote Anchor link
Okee.. bedankt voor jullie reacties!
Ik ga eraan werken.

@Niels en Theodoor van Donge
Ik zal gaan inspringen.

@Karl
Ik zal error reporting eraf halen.
De $fout_inloggen_cijfer staan in settings.php
Ik zal dat even veranderen in de code en settings.php weghalen. ;-)

Hoebedoel je vage onzin bij errors tellen?

Hij telt de errors.
Als het er geen 0 zijn gaat hij kijken of het er 1 is. Dan geeft ie een error. Als het er meer dan 1 is telt ie het aantal errors, geeft die aan en zet de foutmelding neer.

Ik zie nou niet meteen wat daar raar aan is eigenlijk :$

@Pim de Haan
Kun je dat even uitleggen?
Altijd doodgaan..?



-Edit-
Ik heb al wat wijzigingen gemaakt.
Naar de rest zal ik morgen kijken.
Ik ga nu aan m'n huiswerk ;-)
Gewijzigd op 04/10/2010 19:59:22 door Victor Php
 
Karl Karl

Karl Karl

04/10/2010 19:59:29
Quote Anchor link
Na een redirect moet je exit of die doen aangezien de rest van het script nog gewoon uitgevoerd zou kunnen worden.
Die constructie bij errors tellen vind ik gewoon vaag.
Je doet meerdere keren tellen. Wat is er mis met gewoon laten zien wat er mis is? En als je toch het aantal wilt tonen, dan kan dat volgens mij wel netter.
 
Niels Kieviet
Beheerder

Niels Kieviet

04/10/2010 20:09:21
Quote Anchor link
Scheid je HTML gewoon van PHP..
 
Milo S

Milo S

04/10/2010 21:07:52
Quote Anchor link
Niet alleen dat tis gewoon een klote zooi... Sorry hoor maar normaal inspringen gebeurt niet, haakjes staat ineens achter wat er gebeuren moet

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
   foreach()
{

}


dat gaat toch nergens over?
Je maakt je inlog formulier var aan na het posten... lekker krom.
Gewijzigd op 04/10/2010 21:18:53 door Milo S
 
Victor Php

Victor Php

04/10/2010 21:53:16
Quote Anchor link
Rustig maar..
Ik leer ook alleen maar ;-)

@Karl
Ik ben dood gegaan na de header ;-).
En ik ga zoeken naar een nettere manier...

@Niels
Ga ik doen

@Milo S
Is die voorbeeldcode nu goed of fout?
Inlog formulier is nu voor het posten aangemaakt ;)
 
Karl Karl

Karl Karl

04/10/2010 22:03:48
Quote Anchor link
Na een header hoort je script dood te gaan.
Als je dan data gaat versturen is het fout.
-_-'
 
Pim -

Pim -

04/10/2010 22:17:31
Quote Anchor link
Als je dat wat netter wil doen:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
<?php
function redirect($url)
{

    header('Location: '.$url);
    exit;
}

?>
 
Niek s

niek s

04/10/2010 22:35:31
Quote Anchor link
Karl Karl op 04/10/2010 22:03:48:
Na een header hoort je script dood te gaan.
Als je dan data gaat versturen is het fout.
-_-'


Nee hoor, gaat niet fout, kan gewoon.

Tis alleen niet echt de bedoelling dat als iemand header redirects uit zet, toch ineens wel je admin panel (bv) kan gebruiken ;)

Uitzetten betekent gewoon "negeren" natuurlijk
 
Karl Karl

Karl Karl

04/10/2010 22:47:09
Quote Anchor link
Niek s op 04/10/2010 22:35:31:
Karl Karl op 04/10/2010 22:03:48:
Na een header hoort je script dood te gaan.
Als je dan data gaat versturen is het fout.
-_-'


Nee hoor, gaat niet fout, kan gewoon.

Tis alleen niet echt de bedoelling dat als iemand header redirects uit zet, toch ineens wel je admin panel (bv) kan gebruiken ;)

Uitzetten betekent gewoon "negeren" natuurlijk

Goed, goed, het kan gewoon...
 



Overzicht Reageren