Toon posts:

[PHP] Leden script

Pagina: 1
Acties:
  • 43 views sinds 30-01-2008

Verwijderd

Topicstarter
Ik heb een ledenscript draaien op een eigen server, nu kan ik prima registreren alleen krijg ik bij het inloggen steeds de melding "Fout wachtwoord" maar volgens mij klopt alles gewoon (niet dus). Ik werk met md5

login.php
PHP:
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
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
<?php 
include("config.php"); 
$controle=1; 
$verstuurd=0; 
if($_SERVER['REQUEST_METHOD']=='POST'){ 
    $verstuurd=1; 
    if(empty($_POST['nickname'])){ 
        $controle=0; 
        $wachtwoord = md5($_POST['wachtwoord']); 
    } 
    if(empty($_POST['wachtwoord'])){ 
        $controle=0; 
        $nickname = $_POST['nickname']; 
    } else { 
        $nickname = $_POST['nickname']; 
        $wachtwoord = $_POST['wachtwoord']; 
    } 
    if($controle==1){ 
        $wachtwoord_org = $_POST['wachtwoord']; 
        $wachtwoord = md5($_POST['wachtwoord']); 
        $bestaande_nickname = mysql_query("SELECT nickname FROM $tabel_naam WHERE nickname='".addslashes($nickname)."'"); 
        if(mysql_num_rows($bestaande_nickname)==0){ 
            $controle=0; 
            $nick_fout="Onbekende nickname"; 
        }
        if($controle==1){
            $goede_ww = mysql_query("SELECT nickname FROM $tabel_naam WHERE nickname='$nickname' AND wachtwoord='$wachtwoord'"); 
               if(mysql_num_rows($goede_ww)==0) { 
                $controle=0; 
                $ww_fout="Fout wachtwoord"; 
            } 
        }
        if($controle==1){
            $resultaat_id = mysql_query("SELECT id FROM $tabel_naam WHERE nickname='".addslashes($nickname)."'");
            $id = mysql_result($resultaat_id, 0); 
        }
    } 
} 
if($verstuurd==0||$controle==0) { 
    ?> 
    <html> 
    <head> 
    <title>Log-in</title> 
    </head> 
    <body> 
    <form name="login" method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>"> 
    <table> 
        <?php 
        if($verstuurd==1){ 
            if(empty($_POST['nickname'])){ 
                echo "<tr><td colspan=\"2\">".$fout_tags_open."Vul een nickname in".$fout_tags_sluit."</td></tr>"; 
            } 
            if(isset($nick_fout)){ 
                echo "<tr><td colspan=\"2\">".$fout_tags_open.$nick_fout.$fout_tags_sluit."</td></tr>"; 
            } 
        } 
        ?> 
        <tr> 
            <td>Nickname:</td> 
            <td><input type="text" name="nickname" <?php if($verstuurd==1&&!empty($_POST['nickname'])){echo "value=\"".stripslashes(htmlentities($nickname))."\"";} ?>></td> 
        </tr> 
        <?php 
        if(isset($ww_fout)){ 
            echo "<tr><td colspan=\"2\">".$fout_tags_open.$ww_fout.$fout_tags_sluit."</td></tr>"; 
        } 
        if($verstuurd==1&&empty($_POST['wachtwoord'])){ 
            echo "<tr><td colspan=\"2\">".$fout_tags_open."Vul een wachtwoord in".$fout_tags_sluit."</td></tr>"; 
        } 
        ?> 
        <tr> 
            <td>Wachtwoord:</td> 
            <td><input type="password" name="wachtwoord" <?php if($verstuurd==1&&!empty($_POST['wachtwoord'])){echo "value=\"".stripslashes(htmlentities($wachtwoord_org))."\"";} ?>></td> 
        </tr>
        <tr>
            <td colspan="2"><input type="checkbox" name="onthoud" checked>Onthoud me</td>
        </tr>
        <tr> 
            <td colspan="2"><center><input type="submit" value="Log-in">&nbsp;<input type="reset" value="Opnieuw"></center></td> 
        </tr> 
    </table> 
    </form> 
    <a href="voegtoe.php?locatie=<?php echo $locatie; ?>">Registreer</a>. 
    </body> 
    </html> 
    <?php 
} 
if($verstuurd==1&&$controle==1){ 
    $ingelogd=true; 
    if(isset($_POST['onthoud'])){
        $query = "UPDATE $tabel_naam SET ingelogd=1, ip='".$_SERVER['REMOTE_ADDR']."' WHERE id='$id'";
        mysql_query($query);
        $id2 = $id;
        for($i=0; $i<7; $i++){
            $id2 = base64_encode($id2);
        }
        $lengte_c = strlen($id2);
        $lengte_h = intval($lengte_c / 2);
        $u = '';
        for($i=0; $i<$lengte_h; $i++){
            $u .= $id2[$i];
        }
        if($lengte_h==($lengte_c/2)){
            $begin_pos = $lengte_c - $lengte_h;
        } else {
            $begin_pos = $lengte_c - $lengte_h-1;
        }
        $p = '';
        for($i=$begin_pos; $i<$lengte_c; $i++){
            $p .= $id2[$i];
        }
        for($i=0; $i<4; $i++){
            $u = base64_encode($u);
            $p = base64_encode($p);
        }
        setcookie("u", $u, time()+518400);
        setcookie("p", $p, time()+518400);
    }    
    $_SESSION['ingelogd'] = $ingelogd; 
    $_SESSION['id'] = $id;
    $_SESSION['ip']= $_SERVER['REMOTE_ADDR'];
    header("location: $locatie"); 
} 
?>


registratie (voegtoe.php)
PHP:
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
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
<?php 
include("config.php"); 
$verstuurd=0; 
$controle=1; 
if($_SERVER['REQUEST_METHOD']=='POST'){ 
    $verstuurd=1; 
    if(empty($_POST['nickname'])||empty($_POST['wachtwoord'])||empty($_POST['wachtwoord_bevestig'])||empty($_POST['email'])){ 
        $controle=0; 
    } else { 
        $nickname = $_POST['nickname']; 
        $wachtwoord = $_POST['wachtwoord']; 
        $wachtwoord_bevestig = $_POST['wachtwoord_bevestig']; 
        $email = $_POST['email']; 
    } 
    if($controle==1){ 
        if($_POST['wachtwoord']!=$_POST['wachtwoord_bevestig']){ 
            $controle=0; 
            $ww_fout = "Vul hetzelfde wachtwoord in, anders kan je niet verder gaan"; 
        } 
        $resultaat_nickname = mysql_query("SELECT nickname FROM $tabel_naam WHERE nickname='".addslashes($nickname)."'"); 
        if(mysql_num_rows($resultaat_nickname)>0){ 
            $controle=0; 
            $nick_fout = "Deze nickname bestaat helaas al, vul een andere in."; 
        } 
        $aantal_email = mysql_query("SELECT email FROM $tabel_naam WHERE email='".addslashes($email)."'"); 
        if(mysql_num_rows($aantal_email)>0){ 
            $controle=0; 
            $email_fout = "Er is al een account aangemaakt op dit e-mail adres, log dus in met dat e-mail adres"; 
        } 
    } 
} 
if($verstuurd==0||$controle==0){ 
    ?> 
    <html> 
    <head> 
    <title>Voeg een gebruiker toe in de DB</title> 
    </head> 
    <body> 
    <form name="voeg toe" method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>"> 
    <table> 
        <?php 
        if($verstuurd==1){ 
            if(empty($_POST['nickname'])){ 
                echo "<tr><td colspan=\"2\">".$fout_tags_open."Vul een nickname in, anders werkt het niet".$fout_tags_sluit."</td></tr>"; 
            } 
            if(isset($nick_fout)){ 
                echo "<tr><td colspan=\"2\">".$fout_tags_open.$nick_fout.$fout_tags_sluit."</td></tr>"; 
            } 
        } 
        ?> 
        <tr> 
            <td>Nickname:</td> 
            <td><input type="text" name="nickname" <?php if($verstuurd==1&&!empty($_POST['nickname'])){echo "value=\"".stripslashes(htmlentities($_POST['nickname']))."\"";} ?>></td> 
        </tr> 
        <?php 
        if($verstuurd==1){ 
            if(empty($_POST['wachtwoord'])){ 
                echo "<tr><td colspan=\"2\">".$fout_tags_open."Vul een wachtwoord in, anders werkt het niet".$fout_tags_sluit."</td></tr>"; 
            } 
            if(isset($ww_fout)){ 
                echo "<tr><td colspan=\"2\"2>".$fout_tags_open.$ww_fout.$fout_tags_sluit."</td></tr>"; 
            } 
        } 
        ?> 
        <tr> 
            <td>Wachtwoord:</td> 
            <td><input type="password" name="wachtwoord" <?php if($verstuurd==1&&!empty($_POST['wachtwoord'])){echo "value=\"".stripslashes(htmlentities($_POST['wachtwoord']))."\"";} ?>></td> 
        </tr> 
        <?php 
        if($verstuurd==1&&empty($_POST['wachtwoord_bevestig'])){ 
            echo "<tr><td colspan=\"2\">".$fout_tags_open."Bevestig het wachtwoord, anders werkt het niet".$fout_tags_sluit."</td></tr>"; 
        } 
        ?> 
        <tr> 
            <td>Bevestig wachtwoord:</td> 
            <td><input type="password" name="wachtwoord_bevestig" <?php if($verstuurd==1&&!empty($_POST['wachtwoord_bevestig'])){ echo "value=\"".stripslashes(htmlentities($_POST['wachtwoord_bevestig']))."\"";} ?>></td> 
        </tr> 
        <?php 
        if($verstuurd==1){ 
            if(empty($_POST['email'])){ 
                echo "<tr><td colspan=\"2\">".$fout_tags_open."Vul een e-mail adres in, anders werkt het niet".$fout_tags_sluit."</td></tr>"; 
            } 
            if(isset($email_fout)){ 
                echo "<tr><td colspan=\"2\">".$fout_tags_open.$email_fout.$fout_tags_sluit."</td></tr>"; 
            } 
        } 
        ?> 
        <tr> 
            <td>E-mail adres:</td> 
            <td><input type="text" name="email" <?php if($verstuurd==1&&!empty($_POST['email'])){echo "value=\"".stripslashes(htmlentities($_POST['email']))."\"";} ?>></td> 
        </tr> 
        <tr> 
            <td colspan="2"><center><input type="submit" value="Voeg toe">&nbsp;<input type="button" value="Annuleren" onClick="window.location='login.php'">&nbsp;<input type="reset" value="Opnieuw"></center></td> 
        </tr> 
    </table> 
    </form> 
    </body> 
    </html> 
    <?php 
} elseif($verstuurd==1){ 
    $nickname = addslashes($_POST['nickname']); 
    $wachtwoord = md5($_POST['wachtwoord']); 
    $email = addslashes($_POST['email']); 
    mysql_query("INSERT INTO $tabel_naam (nickname, wachtwoord, email, actief) VALUES (\"$nickname\", \"$wachtwoord\", \"$email\", 1)"); 
    $resultaat_id = mysql_query("SELECT id FROM $tabel_naam WHERE nickname='$nickname'"); 
    $id = mysql_result($resultaat_id, 0);
    $u = $id; 
    for($i=0; $i<7; $i++){ 
        $u = base64_encode($u); 
    } 
    ?> 
    <html> 
    <head> 
    <title>Je account is succesvol aangemaakt</title> 
    </head> 
    <body> 
    <h1>Je account is succesvol aangemaakt</h1> 
    Je account is succesvol aangemaakt
    </body> 
    </html> 
    <?php 
} 
?>


Iemand een hint waar ik moet zoeken? het loopje lijkt mij te kloppen...

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 15-04 22:07

NMe

Quia Ego Sic Dico.

Sorry EsK, maar hier beginnen we in Programming & Webscripting niet aan. Debuggen is iets wat je zelf mag doen. Lees daarvoor eens P&W FAQ - Leer **** debuggen!! door. Als je er daarna nog niet uitkomt, dan kun je een nieuw topic openen, met daarin alleen relevante code. Er is hier niemand die je hele script gaat doorpluizen om te kijken wat er mogelijk fout is. :)

Wanneer je een nieuw topic opent, hou dan rekening met P&W FAQ - De "quickstart". :)

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Dit topic is gesloten.