Forum » Server-Side scripting » login werkt niet(mysqli)
Berichten: 35
avatar
Offline Stuur privebericht
Hallo,

ik ben sinds gisteren begonnen met mysqli(jasper vertelde dat mysql verdwijnt in php 6)
ik heb tot nu toe enkel mijn database connectie en dit loginscript hieronder.

maar deze werkt niet helemaal..
hopelijk zien jullie wat er verkeerd loopt..
Code | Selecteer Alles
minimaliseren
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
<?php
begintabel
("Inloggen");

    if(isset(
$_POST['login']))
    {
    
$gebruikersnaam htmlentities($_POST['gebruikersnaam']);
    
$wachtwoord htmlentities($_POST['wachtwoord']);
    
$pass sha1($salt.$wachtwoord.$pepper);
        
// kijken of er geen errors zijn in de query
        
if(!$result $mysqli->query("SELECT * FROM `leden` WHERE gebruikersnaam = '".$gebruikersnaam."'")) 
        {
            
trigger_error('Fout in query: '.$mysqli->error); // errors weergeven
        
}
        else 
// als er geen errors zijn voer dan uit
        
{
            if(
$row $result->fetch_assoc())
            {
                if(
$gebruikersnaam == "")
                {
                    echo 
"U moet wel een gebruikersnaam invullen!";
                }
                elseif(
$wachtwoord == "")
                {
                    echo 
"U moet wel een wachtwoord invullen! ";
                }
                elseif(
$gebruikersnaam != $row['gebruikersnaam']) 
                {
                       echo 
"De gebruikersnaam bestaat niet! ";
                }
                elseif(
$pass != $row['wachtwoord'])
                {
                       echo 
"Uw wachtwoord is incorrect! ";
                }    
            }
            else
            {
            echo 
'Inloggen gelukt!';
            }
        }
    }
    else
    {
        echo 
"<form method='post' name='login' action='".$site_url."/index.php?pagina=leden/inloggen'>";
        echo 
"<table border='0' width='100%' cellspacing='0' cellpadding='0'>";
        echo 
"<tr>";
        echo 
"<td width='20%'><b>Gebruikersnaam</b></td>";
        echo 
"<td width='80%'><input type='text' name='gebruikersnaam'></td>";
        echo 
"</tr>";
        echo 
"<tr>";
        echo 
"<td width='20%'><b>Wachtwoord</b></td>";
        echo 
"<td width='80%'><input type='password' name='wachtwoord'></td>";
        echo 
"</tr>";
        echo 
"<tr>";
        echo 
"<td width='20%'><input type='hidden' name='hash'></td>";
        echo 
"<td width='80%'><input type='submit' value='Log in' name='login'></td>";
        echo 
"</tr>";
        echo 
"</table>";
        echo 
"</form>";
    }

eindetabel();

?>

15-04-2011 18:16
Dit topic is 203 keer bekeken door 36 verschillende leden
Reacties op: "login werkt niet(mysqli)"
1
CriminalsPoint.com
Berichten: 424
avatar
Offline Stuur privébericht
Wat werkt niet en wat werkt wel?
TIP: gebruik zo min mogelijk html binnen php
15-04-2011 18:21
Berichten: 35
avatar
Offline Stuur privébericht
ow ja hoor was vergeten te typen..
hij geeft helemaal geen error maar de error's kloppen niet als ik geen gebruikersnaam ingeef komt er gewoon "inloggen gelukt"

Hoe bedoel je? ik kan toch niet anders dan me form in html te zetten?

mvg, Chesney
15-04-2011 18:31
Luc
devow.nl
Berichten: 1592
avatar
Offline Stuur privébericht
Code | Selecteer Alles
minimaliseren
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
<?php 
begintabel
("Inloggen"); 

    if(isset(
$_POST['login'])) 
    { 
      
$gebruikersnaam htmlentities($_POST['gebruikersnaam']); 
        
$wachtwoord htmlentities($_POST['wachtwoord']); 
        
$pass sha1($salt.$wachtwoord.$pepper); 
        
// kijken of er geen errors zijn in de query 
    
$result $mysqli->query("SELECT * FROM `leden` WHERE gebruikersnaam = '".$gebruikersnaam."'") OR DIE($mysqli->error);
       
     
        if(
$result->num_rows == 0
        { 
        echo 
'Gebruikersnaam onjuist';
    }
    else
    {
        
$row $result->fetch_assoc();

                if(
$wachtwoord == ""
                { 
                    echo 
"U moet wel een wachtwoord invullen! "
                } 
                if(
$pass != $row['wachtwoord']) 
                { 
                       echo 
"Uw wachtwoord is incorrect! "
                }  
        else 
                { 
                   echo 
'Inloggen gelukt!'
                }    
            }
        } 
    } 
    else 
    { 
        echo 
"<form method='post' name='login' action='".$site_url."/index.php?pagina=leden/inloggen'>"
        echo 
"<table border='0' width='100%' cellspacing='0' cellpadding='0'>"
        echo 
"<tr>"
        echo 
"<td width='20%'><b>Gebruikersnaam</b></td>"
        echo 
"<td width='80%'><input type='text' name='gebruikersnaam'></td>"
        echo 
"</tr>"
        echo 
"<tr>"
        echo 
"<td width='20%'><b>Wachtwoord</b></td>"
        echo 
"<td width='80%'><input type='password' name='wachtwoord'></td>"
        echo 
"</tr>"
        echo 
"<tr>"
        echo 
"<td width='20%'><input type='hidden' name='hash'></td>"
        echo 
"<td width='80%'><input type='submit' value='Log in' name='login'></td>"
        echo 
"</tr>"
        echo 
"</table>"
        echo 
"</form>"
    } 

eindetabel(); 

?>
15-04-2011 19:08
Berichten: 35
avatar
Offline Stuur privébericht
@Luc -> jouw versie werkt ook niet hoor..
Parse error: syntax error, unexpected '}' in C:\Users\Chesney\Desktop\Websites\USBWebserver v8_nl\root\leden\inloggen.php on line 35


Edit:
werkt nu wel.. bedankt
15-04-2011 19:41
Vreemd
Berichten: 1246
avatar
Offline Stuur privébericht
Code | Selecteer Alles
minimaliseren
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
<?php
begintabel
("Inloggen");

    if(isset(
$_POST['gebruikersnaam'], $_POST['wachtwoord']))
    {
        
$gebruikersnaam $mysqli->escape_string($_POST['gebruikersnaam']);
        
$wachtwoord $mysqli->escape_string($_POST['wachtwoord']);
        
$pass sha1($salt.$wachtwoord.$pepper);

        
// kijken of er geen errors zijn in de query
        
if( ! trim($gebruikersnaam))
        {
            echo 
"U moet wel een gebruikersnaam invullen!";
        }
        elseif( ! 
trim($wachtwoord))
        {
            echo 
"U moet wel een wachtwoord invullen! ";
        }
        elseif( ! 
$result $mysqli->query("SELECT * FROM `leden` WHERE gebruikersnaam = '".$gebruikersnaam."' AND wachtwoord='".$pass."'")
             || ! 
$row $result->fetch_assoc())
        {
            echo 
'Inloggen mislukt!';
        }
        else
        {
            
// inlog tijd, gebruik $row
        
}
    }
    else
    {
        echo 
"<form method='post' name='login' action='".$site_url."/index.php?pagina=leden/inloggen'>";
        echo 
"<table border='0' width='100%' cellspacing='0' cellpadding='0'>";
        echo 
"<tr>";
        echo 
"<td width='20%'><b>Gebruikersnaam</b></td>";
        echo 
"<td width='80%'><input type='text' name='gebruikersnaam'></td>";
        echo 
"</tr>";
        echo 
"<tr>";
        echo 
"<td width='20%'><b>Wachtwoord</b></td>";
        echo 
"<td width='80%'><input type='password' name='wachtwoord'></td>";
        echo 
"</tr>";
        echo 
"<tr>";
        echo 
"<td width='20%'><input type='hidden' name='hash'></td>";
        echo 
"<td width='80%'><input type='submit' value='Log in' name='login'></td>";
        echo 
"</tr>";
        echo 
"</table>";
        echo 
"</form>";
    }

eindetabel();

?>
15-04-2011 20:20
Berichten: 35
avatar
Offline Stuur privébericht
Darsstar ik ben zeer blij dat je het script willen maken hebt voor me maar ik heb hem getest en werkt ook niet..
de errors komen nog altijd terwijl ze niet moeten komen..
ik heb nu deze gemaakt
Code | Selecteer Alles
minimaliseren
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
<?php 
begintabel
("Inloggen"); 

    if(isset(
$_POST['login'])) 
    {
        
$gebruikersnaam =  $mysqli->escape_string($_POST['gebruikersnaam']); 
        
$wachtwoord =  $mysqli->escape_string($_POST['wachtwoord']); 
        
$pass sha1($salt.$wachtwoord.$pepper); 
        
// kijken of er geen errors zijn in de query 
        
$result $mysqli->query("SELECT * FROM `leden` WHERE gebruikersnaam = '".$gebruikersnaam."' && wachtwoord ='".$pass."' ") or die ($mysqli->error);
       
                
$errors = array();
            if(
$result->num_rows == 0
            { 
                
$errors[] = 'Uw gebruikersnaam of wachtwoord is onjuist';
            }
                if(
count($errors) > 0)
                { 
                    echo 
'Tijdens het aanmelden zijn volgende fouten zijn opgetreden:';                       
                        foreach (
$errors as $error) {
                        echo  
"- ".$error."";
                        }
                    echo 
'<a href="javascript:history.go(-1)">Klik hier om je fouten te verbeteren.</a>';
                }
            else
            {
                echo 
"Geen errors";
            }
    } 
    else 
    { 
?>
<form method='post' name='login' action='<?php echo $site_url?>/index.php?pagina=leden/inloggen'>
    <table border='0' width='100%' cellspacing='0' cellpadding='0'>
        <tr>
            <td width='20%'><b>Gebruikersnaam</b></td>
            <td width='80%'><input type='text' name='gebruikersnaam'></td>
        </tr>
        <tr>
            <td width='20%'><b>Wachtwoord</b></td>
            <td width='80%'><input type='password' name='wachtwoord'></td>
        </tr>
        <tr>
            <td width='20%'><input type='hidden' name='hash'></td>
            <td width='80%'><input type='submit' value='Log in' name='login'></td>
        </tr>
    </table>
</form>
<?php
    


eindetabel(); 

?>
15-04-2011 20:37
Reageer op: "login werkt niet(mysqli)"
1
Je kan niet reageren omdat je niet bent ingelogd. Inloggen of Aanmelden