Inlog Systeem databases & sql

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 »

Enrico van der List

Enrico van der List

27/03/2014 22:01:34
Quote Anchor link
Ben momenteel bezig een inlog systeem aan het maken voor een website. en daarvoor heb ik een tutorial gevolgd alleen op een of andere manier kom ik niet verder dan de functie: if($num == 1) tijdens het testen kan ik geen gebruikersnaam en wachtwoord vinden. ziet iemand eventueel de fout?????


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
<?php
                        if(isset($_POST['hidden'])){
                            
                            include('mysql_connect.php');
                            
                            // variable
                            $username = $_POST['username'];
                            $password = $_POST['password'];
                            
                            echo($sql);
                            $sql =     "SELECT * FROM leden WHERE username='".$username."' AND password='".$password."'";
                            $query = mysql_query ($sql);
                            $num = mysql_num_rows($query);
                            
                            
                            if($num == 1){
                                // Ingelogd
                                echo "lol";
                                
                                $sql2 = "SELECT * FROM leden WHERE username'".$username."' AND password='".$password."'";
                                $query2 = mysql_query($sql2);
                                $fetch = mysql_fetch_assoc($query2);
                                
                                $_SESSION['username'] = $username;
                                $_SESSION['id'] = $fetch['id'];
                                $_SESSION['ingelogd'] = true;
                                header('location: member.php');
                                
                                echo "Ingelogd";    
                            }

                            else{
                                echo "Gebruikersnaam of Wachtwoord is verkeerd!!";    
                            }
                        }

                        else{
                    ?>


<form action='index.php' method='POST'>

Username: <input type='text' name='username'/><br>
Password: <input type='password' name='password'/><br>
<input type='hidden' name='hidden'>
<input type='submit' value='login!'>

</form>
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php    
                        }
                        }

                    ?>
 
PHP hulp

PHP hulp

05/11/2024 16:30:59
 
Erwin H

Erwin H

28/03/2014 06:25:16
Quote Anchor link
Je echo op regel 10 staat er natuurlijk een beetje voor Jan met de korte achternaam, als je een regel later pas de sql string aanmaakt. Die echo levert dus niets op.
En waarom voer je precies dezelfde query twee keer uit? Ook nutteloos, de resultaten die je nodig hebt op regel 24 t/m 26 kan je ook gewoon uit de eerste halen.

Maar om de fout te vinden zal je toch echt eerst een foutafhandeling moeten inbouwen.
 
Ivo P

Ivo P

28/03/2014 10:01:57
Quote Anchor link
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
if('POST' == $_SERVER['REQUEST_METHOD']) {

    include('mysql_connect.php');

    // variable
    $username = $_POST['username'];
    $password = $_POST['password'];

    $sql = "SELECT * FROM leden
            WHERE username='"
. mysql_real_escape_string($username) . "'
              AND password='"
. mysql_real_escape_string($password) . "'";
    if(!$resultset = mysql_query($sql)) {
        echo 'er trad een fout op: '. mysql_error();
        echo '<br>'. $sql;
        exit();
    }

    $num = mysql_num_rows($resultset);


    if($num == 1) {
        // Ingelogd
        echo "lol";
        $fetch = mysql_fetch_assoc($resultset);

        $_SESSION['username'] = $fetch['username'];
        $_SESSION['id'] = $fetch['id'];
        $_SESSION['ingelogd'] = true;
        
        // als je nu doorgestuurd wordt, zie je op regel 29 de echo niet meer....
        //header('location: member.php');


        echo "Ingelogd";
    }

    else {
        echo "Gebruikersnaam of Wachtwoord is verkeerd!!";
        $_SESSION['ingelogd'] = false;
        $_SESSION['id'] = null;
        $_SESSION['username'] = null;
    }
}

else {
?>
 
Obelix Idefix

Obelix Idefix

28/03/2014 13:29:41
Quote Anchor link
Waarbij opgemerkt dat er niet gecontroleerd wordt of de beide $_POST-waarden bestaan.
Het aanmaken van 2 variabelen (regel 7/8) niet echt zinvol is.
Een wachtwoord niet zonder enige beveiliging opgeslagen dient te worden.
In een live-omgeving je geen fouten gaat echo-en op het scherm, maar via logboek of mail.
Gebruik geen * in een query, maar geef het veld/de velden op die je wilt ophalen.
mysql is 'deprecated' en zal op (korte) termijn tot foutmeldingen/problemen gaan leiden. Stap over op mysqli of PDO.
 
Ivo P

Ivo P

28/03/2014 13:31:09
Quote Anchor link
ik dacht, laten we eerst zorgen dat in lijn met TS's beperkte tutorial een werkend geheel ontstaat.

en om daarna pas met de gebreken te komen.
 
Obelix Idefix

Obelix Idefix

28/03/2014 19:42:53
Quote Anchor link
Dat vermoeden had ik al ;-) maar wilde TS er op wijzen dat zijn code nog wel wat verbeterpunten heeft.
Aan TS om daar (n)iets mee te doen.
 
Enrico van der List

Enrico van der List

29/03/2014 14:31:37
Quote Anchor link
heeft iemand anders een betere code voor een inlog/registreer systeem en database ?
 
Obelix Idefix

Obelix Idefix

29/03/2014 15:12:09
Quote Anchor link
Het is hier geen afhaalchinees ;-)

Op dit forum komen regelmatig vragen naar voren die vergelijkbaar zijn met jouw code en waar advies voor verbetering wordt gegeven. Mbv Google is heel veel te vinden. Kortom: wat houdt je tegen om zelf bezig te gaan om je te ontwikkelen i.p.v. een klaar en klaar script te vragen (waarbij je geen idee hebt wat waarvoor staat). Copy/Paste is heel gemakkelijk, maar uiteindelijk geen oplossing.
 
Enrico van der List

Enrico van der List

30/03/2014 18:46:02
Quote Anchor link
En momenteel zit ik al een week vast op zo'n simpel iets waardoor mijn andere opdrachten van school erbij inschieten en dat ik dan achter ga lopen en vertraging mee kan oplopen :(
 
Obelix Idefix

Obelix Idefix

30/03/2014 19:53:20
Quote Anchor link
Enrico van der List op 30/03/2014 18:46:02:
En momenteel zit ik al een week vast op zo'n simpel iets waardoor mijn andere opdrachten van school erbij inschieten en dat ik dan achter ga lopen en vertraging mee kan oplopen :(


Kennelijk is het niet zo simpel, anders had je het wel klaar ;-)
Het is dus als opdracht van school?! Wil je dat wij jouw huiswerk gaan maken?
Als het goed is heb je ook les en een docent. Ga er niet van uit dat ze op school maar zo wat doen. Jij zou er dan wat van moeten leren ipv copy/paste te gaan doen.
 



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.