Problemen met inlogscript.

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Peter Prijs

Peter Prijs

27/03/2006 21:05:00
Quote Anchor link
ik heb een scriptje gemaakt om in te loggen maar als ik het submit wil ik "u bent nu ingelogd zien".
Maar ik krijg elke keer mijn html form voor het invoeren erbij wat doe ik verkeerd ?????????

het script is als volgt

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
<?php

session_start();//een sessie starten
                                
include('data.inc.php');// de gegevens laden voor mysql aanlog
if ($_SESSION['ingelogd']==="Wel"){// controle of er al ingelogd is d.m.v. controle of sessie al een password toegeken heeft gekregen.
    Print"U bent al ingelogd.";
    }
else{
                include('loginform.html');
                }

                
if(isset($_POST['submit'])){// kijken of loginform.html al gesubmit is
if((!empty($_POST['gebruikersnaam']))&&(!empty($_POST['wachtwoord']))){// controleren of 1 van de 2 velden niet leeg is
        include("connection.php");
        //De opgehaalde gegevens aan een variabele toewijzen.
        $gebruiker=$_POST['gebruikersnaam'];
        $qryOphalenInlogGegevens= "SELECT * FROM gebruikers WHERE NicknameGebruiker =('$gebruiker')";                                                                                                                                                                                                                                                        
        //De opgehaalde gegevens aan een variabele toewijzen.                                                                                                                                                                                                                                                        
            If ($r=mysql_query($qryOphalenInlogGegevens)){                                                                                                                                                                                                                                            
            // De opgehaalde waarde weergeven                                                                                                                                                                                                                                                    
                while($rlogin = mysql_fetch_array($r)){                                                                                                                                                                                                                                                
                    if($rlogin['WachtwoordGebruiker']===md5($_POST['wachtwoord'])){
                    //De waarde meegeven aan de sessie zodat de gegevens indien nodig gebruikt kunnen worden
                    $_SESSION['username']=$gebruiker;
                    $_SESSION['naam']=$rlogin['NaamGebruiker'];
                    $_SESSION['adres']=$rlogin['AdresGebruiker'];
                    $_SESSION['postcode']=$rlogin['PostcodeGebruiker'];
                    $_SESSION['plaats']=$rlogin['PlaatsGebruiker'];
                    $_SESSION['telefoon']=$rlogin['TelefoonnummerGebruiker'];
                    $_SESSION['faxnummer']=$rlogin['FaxnummerGebruiker'];
                    $_SESSION['emailadres']=$rlogin['EmailAdresGebruiker'];
                    $_SESSION['ingelogd']="Wel";
                    mysql_close();
                    
                   }
else{
                            mysql_close();
                            echo"<p>foutief wachtwoord</p>";
                            }
                }
            }
                    }
else{//De tekst voor als een gebruikersnaam of wachtwoord of beide vergeten worden.
                    echo"<p>Vul een gebruikersnaam en een wachtwoord in anders kan u niet aangemeld worden.</p>";
                     }
}




?>

<!-- html eind tags voor het geval dat er niet ingelogd is en het loginform.html word ingevoegd -->
</body>
</html>
Gewijzigd op 27/03/2006 21:11:00 door Peter Prijs
 
PHP hulp

PHP hulp

22/12/2024 09:19:32
 
PHP Newbie

PHP Newbie

27/03/2006 21:07:00
Quote Anchor link
1. kun je ook een gewone titel maken?

2. een 10 voor je avatar (not)
 
Stefan van Iwaarden

Stefan van Iwaarden

27/03/2006 21:09:00
Quote Anchor link
ik zie je html formulier niet in de code staan, maar het moet als volgt:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
<?php
if (isset($_POST['submit']))
{

//hier code om in te loggen en bericht weer te geven
}
else
{
//hier je inlog formulier
}
?>
 
Peter Prijs

Peter Prijs

27/03/2006 21:21:00
Quote Anchor link
Sorry voor de titel maar dat krijgje naar 2 UUR
zo iets simpels zit tezoeken. Kon mijn toetsenbord wel op eten gelukkig heeft iemand de titel al aangepast!!

En is deze Avatar wat vriendelijker ??

Stefan bedankt man !!!!!

ik heb het als volgt gedaan.

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
<?php

session_start();//een sessie starten
                                
include('data.inc.php');// de gegevens laden voor mysql aanlog
if ($_SESSION['ingelogd']==="Wel"){// controle of er al ingelogd is d.m.v. controle of sessie al een password toegeken heeft gekregen.
    Print"U bent al ingelogd.";
    exit();
    }

                    
if(isset($_POST['submit'])){// kijken of loginform.html al gesubmit is
if((!empty($_POST['gebruikersnaam']))&&(!empty($_POST['wachtwoord']))){// controleren of 1 van de 2 velden niet leeg is
        include("connection.php");
        //De opgehaalde gegevens aan een variabele toewijzen.
        $gebruiker=$_POST['gebruikersnaam'];
        $qryOphalenInlogGegevens= "SELECT * FROM gebruikers WHERE NicknameGebruiker =('$gebruiker')";                                                                                                                                                                                                                                                        
        //De opgehaalde gegevens aan een variabele toewijzen.                                                                                                                                                                                                                                                        
            If ($r=mysql_query($qryOphalenInlogGegevens)){                                                                                                                                                                                                                                            
            // De opgehaalde waarde weergeven                                                                                                                                                                                                                                                    
                while($rlogin = mysql_fetch_array($r)){                                                                                                                                                                                                                                                
                    if($rlogin['WachtwoordGebruiker']===md5($_POST['wachtwoord'])){
                    //De waarde meegeven aan de sessie zodat de gegevens indien nodig gebruikt kunnen worden
                    $_SESSION['username']=$gebruiker;
                    $_SESSION['naam']=$rlogin['NaamGebruiker'];
                    $_SESSION['adres']=$rlogin['AdresGebruiker'];
                    $_SESSION['postcode']=$rlogin['PostcodeGebruiker'];
                    $_SESSION['plaats']=$rlogin['PlaatsGebruiker'];
                    $_SESSION['telefoon']=$rlogin['TelefoonnummerGebruiker'];
                    $_SESSION['faxnummer']=$rlogin['FaxnummerGebruiker'];
                    $_SESSION['emailadres']=$rlogin['EmailAdresGebruiker'];
                    $_SESSION['ingelogd']="Wel";
                    mysql_close();
                    Print"U bent ingelogd";
                    
                   }
else{
                            mysql_close();
                            echo"<p>foutief wachtwoord</p>";
                            }
                }
            }
                    }
else{//De tekst voor als een gebruikersnaam of wachtwoord of beide vergeten worden.
                    echo"<p>Vul een gebruikersnaam en een wachtwoord in anders kan u niet aangemeld worden.</p>";
                     }
}
else{
                include('loginform.html');
                }




?>

<!-- html eind tags voor het geval dat er niet ingelogd is en het loginform.html word ingevoegd -->
</body>
</html>




Werkt perfect

Thnx
 
Peter Prijs

Peter Prijs

27/03/2006 22:11:00
Quote Anchor link
nu heb ik mijn script iets aangepast naar wat kritieken van de kenners

dit is als volgt.

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
<?php

session_start();//een sessie starten
                                
include('data.inc.php');// de gegevens laden voor mysql aanlog
if ($_SESSION['ingelogd']==="Wel"){// controle of er al ingelogd is d.m.v. controle of sessie al een password toegeken heeft gekregen.
    Print"U bent al ingelogd.";
    exit();
    }

                    
if(isset($_POST['submit'])){// kijken of loginform.html al gesubmit is
if((!empty($_POST['gebruikersnaam']))&&(!empty($_POST['wachtwoord']))){// controleren of 1 van de 2 velden niet leeg is
        include("connection.php");
        //De opgehaalde gegevens aan een variabele toewijzen.
        $gebruiker=$_POST['gebruikersnaam'];
        $gebruiker=mysql_real_escape_string($gebruiker);
        $password=$_POST['wachtwoord'];
        $password=mysql_real_escape_string($password);
        $qryOphalenInlogGegevens= "SELECT * FROM gebruikers WHERE NicknameGebruiker =('$gebruiker')";                                                                                                                                                                                                                                                        
        //De opgehaalde gegevens aan een variabele toewijzen.                                                                                                                                                                                                                                                        
            If ($r=mysql_query($qryOphalenInlogGegevens)){                                                                                                                                                                                                                                            
            // De opgehaalde waarde weergeven                                                                                                                                                                                                                                                    
                while($rlogin = mysql_fetch_array($r)){                                                                                                                                                                                                                                                
                    if($rlogin['WachtwoordGebruiker']===sha1($password)){
                    //De waarde meegeven aan de sessie zodat de gegevens indien nodig gebruikt kunnen worden
                    $_SESSION['username']=$gebruiker;
                    $_SESSION['naam']=$rlogin['NaamGebruiker'];
                    $_SESSION['adres']=$rlogin['AdresGebruiker'];
                    $_SESSION['postcode']=$rlogin['PostcodeGebruiker'];
                    $_SESSION['plaats']=$rlogin['PlaatsGebruiker'];
                    $_SESSION['telefoon']=$rlogin['TelefoonnummerGebruiker'];
                    $_SESSION['faxnummer']=$rlogin['FaxnummerGebruiker'];
                    $_SESSION['emailadres']=$rlogin['EmailAdresGebruiker'];
                    $_SESSION['ingelogd']="Wel";
                    mysql_close();
                    Print"U bent ingelogd";
                    
                   }
else{
                            mysql_close();
                            echo"<p>foutief wachtwoord</p>";
                            }
                }
            }
                    }
else{//De tekst voor als een gebruikersnaam of wachtwoord of beide vergeten worden.
                    echo"<p>Vul een gebruikersnaam en een wachtwoord in anders kan u niet aangemeld worden.</p>";
                     }
}
else{
                include('loginform.html');
                }




?>

<!-- html eind tags voor het geval dat er niet ingelogd is en het loginform.html word ingevoegd -->
</body>
</html>




Nu is het alleen als je een foute gebruiker met een fout wachtwoord op geeft dat de pagina wit wordt
 
Peter Prijs

Peter Prijs

27/03/2006 22:13:00
Quote Anchor link
komt dit doordat de
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
$qryOphalenInlogGegevens
= "SELECT * FROM gebruikers WHERE NicknameGebruiker =('$gebruiker')";
?>


waar de nul geeft dan ??
 
Peter Prijs

Peter Prijs

28/03/2006 19:44:00
Quote Anchor link
Arjan Kapteijn

Bedankt!!!!!!!!

Naar 3 uur modderen met het geen hierboven.

En naar jouw nieuws script kijken ben ik er uit!!

Ik heb het als volgt opgelost:

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
<?php

session_start();//een sessie starten
                        
include('data.inc.php');// de gegevens laden voor mysql aanlog

if ($_SESSION['ingelogd']==="Wel"){// controle of er al ingelogd is d.m.v. controle of sessie al een password toegeken heeft gekregen.
                                                                      Print"U bent al ingelogd.";
                                                                     exit();
                                                                     }

if(isset($_POST['submit'])){                                                
                                                        
                                                        if(!empty($_POST['gebruikersnaam'])){
                                                        $user=$_POST['gebruikersnaam'];
                                                        }
else{
                                                                    echo"u geeft geen gebruikersnaam ingevoerd<br />";
                                                                    }

                                                        
                                                        if(!empty($_POST['wachtwoord'])){
                                                        $password=$_POST['wachtwoord'];
                                                }
else{
                                                                    echo"u geeft geen wachtwoord ingevoerd<br />";
                                                                    }

                                                        
                                                        if((!empty($_POST['gebruikersnaam']))&&(!empty($_POST['wachtwoord']))){
                                                include("connection.php");
                                                        $user=mysql_real_escape_string($user);
                                                        $password=mysql_real_escape_string($password);
                                                $qryOphalenInlogGegevens= "SELECT * FROM gebruikers WHERE NicknameGebruiker =('$user')";                                                                                                                                                                                                                                                        
                                                
                                                        $r = mysql_query($qryOphalenInlogGegevens);
                
                                                             if ($r){
                                                            $rij    = mysql_num_rows($r);
                                                             }
else{
                                                             $rij = 0;
                                                             }

                                                            
                                                             if($rij===0){
                                                             print"u heeft een verkeerde combinatie ingetikt";
                                                             }
else{
                                                                          while($rlogin = mysql_fetch_array($r)){
                                                                                          if($rlogin['WachtwoordGebruiker']===sha1($password)){
                                                                      //De waarde meegeven aan de sessie zodat de gegevens indien nodig gebruikt kunnen worden
                                                                      $_SESSION['username']=$gebruiker;
                                                                      $_SESSION['naam']=$rlogin['NaamGebruiker'];
                                                                      $_SESSION['adres']=$rlogin['AdresGebruiker'];
                                                                      $_SESSION['postcode']=$rlogin['PostcodeGebruiker'];
                                                                      $_SESSION['plaats']=$rlogin['PlaatsGebruiker'];
                                                                      $_SESSION['telefoon']=$rlogin['TelefoonnummerGebruiker'];
                                                                      $_SESSION['faxnummer']=$rlogin['FaxnummerGebruiker'];
                                                                      $_SESSION['emailadres']=$rlogin['EmailAdresGebruiker'];
                                                                      $_SESSION['ingelogd']="Wel";
                                                                      mysql_close();
                                                                      Print"U bent ingelogd";
                                                                      }
else{
                                                              mysql_close();
                                                              echo"<p>Foutief Wachtwoord!</p>";
                                                              }
                                                                        }
                                                             }
                                                                                                                     
                                                             }
                                                                        

}
else{
include('loginform.html');
}

?>


Mocht iemand nog op of aanmerkingen hebben m.b.t.

Tot dit script in welke vorm dan ook hoor ik het graag !!

Alvast bedankt

En nogmaals dank aan onze moderator.

Met vriendelijke groet,

De beginner
Gewijzigd op 28/03/2006 19:44:00 door Peter Prijs
 
Pieter van Linschoten

Pieter van Linschoten

28/03/2006 19:53:00
Quote Anchor link
Persoonlijk zou ik het zo doen:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
<?PHP
$gebruiker
=$_POST['gebruikersnaam'];
        $qryOphalenInlogGegevens= "SELECT * FROM gebruikers WHERE NicknameGebruiker =('$gebruiker')";              If ($r=mysql_query($qryOphalenInlogGegevens)){                  
        
        if($rlogin = mysql_fetch_array($r)){                
                    if($rlogin['WachtwoordGebruiker']===md5($_POST['wachtwoord'])){
                        $_SESSION['username']=$gebruiker;
                        $_SESSION['ip'] = $_SERVER['REMOTE_ADDR'];
                    }

?>


en dan boven elke beveiligde pagina:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
<?PHP    
        if($_SESSION['ip'] == $_SERVER['REMOTE_ADDR']){
            
            $qryOphalenInlogGegevens= "SELECT * FROM gebruikers WHERE NicknameGebruiker =('".$_SESSION['username']."')";
            If ($r=mysql_query($qryOphalenInlogGegevens)){
                $users = @mysql_fetch_array($r);    
            }
        }
else{
            echo "Vieze vuile hacker";
            exit();
        }

?>

Dan kan je in plaats van $_SESSIONs alle gegevens uit je database halen, en is het dus minder gevoelig voor SESSION HIJACKING.
 



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.