Welkom, Gast. Je bent niet ingelogd.

PHP registartie

Stijn
<b>Neuker</b>
Geplaatst op: 22 Jan 2008, 20:33
PimpCoins: 0
💸+
Bewerken Quote

Hoi,

Ik heb bezig geweest aan een registartie script maar het werkt niet.
Ik vindt het een heel rare fout.

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
124
125
126
127
128
129
130
131
132
133
134
<?php
if($logincheck == 1){

    echo"Je bent al ingelogt dus u kan geen twee keer registreren";
    
    }
    elseif(!isset($_POST['regi']))
    {
?>
<form method="POST" name="regi" action="">
  <table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="100%" id="AutoNumber1">
    <tr>
      <td width="17%">Naam</td>
      <td width="83%"><input type="text" name="naam" size="50"></td>
    </tr>
    <tr>
      <td width="17%">Gebruikersnaam:</td>
      <td width="83%"><input type="text" name="gebr" size="20"></td>
    </tr>
    <tr>
      <td width="17%">Wachtwoord:</td>
      <td width="83%"><input type="text" name="ww" size="20"></td>
    </tr>
    <tr>
      <td width="17%">Wachtwoord bevestigen:</td>
      <td width="83%"><input type="text" name="ww2" size="20"></td>
    </tr>
    <tr>
      <td width="17%">E-mail adres:</td>
      <td width="83%"><input type="text" name="email" size="20"></td>
    </tr>
  </table>
  <input type="submit" value="Registreer" name="regi"></p>
</form>
<?php
        }
        else
        {
        
        $naam = addslashes($_POST['naam']);
        $user = addslashes($_POST['gebr']);
        $pas = addslashes($_POST['ww']);
        $pass = md5($_POST['ww']); 
        $pass2 = md5($_POST['ww2']); 
        $email = addslashes($_POST['email']);
        $check = mysql_num_rows(@mysql_query("SELECT * FROM leden WHERE username = '$user'"));
        $a_code = rand();
        $date1 = date("j-n-Y");
        
            
            }
            elseif(empty($naam))
            {
                echo"Je moet een naam invullen.";
                
                }
                elseif(!ereg("^[0-9a-zA-Z]$",$naam))
                {
                    echo"Je mag alleen (hoofd)letters en cijfers gebruiken in je naam.";
                    
                    }
                    elseif(empty($user))
                    {
                        echo"Je moet een gebruikersnaam invullen";
                        
                        }
                        elseif(!ereg("^[0-9a-z_-]$",$user))
                        {
                            echo"Je mag alleen cijfers en letters gebruiken.<br>Geen hoofdletters en spaties!!!";
                            
                            }
                            elseif($check != 0)
                            {
                                echo"De gebruikersnaam is al in gebruik.<br>Kies a.u.b een andere gebruikersnaam."
                                
                                }
                                elseif(empty($pass))
                                {
                                    echo"Je moet een wachtwoord invullen.";
                                    
                                    }
                                    elseif(empty($pass2))
                                    {
                                        echo"Je hebt geen wachtwoord ingevuld bij wachtwoord bevestigen";
                                        
                                        }
                                        elseif($pass != $pass2))
                                        { 
                                            echo"Wachtwoord en wachtwoord bevestigen is niet het zelfde.<br>Gelieve dat aan te passen";
                                            
                                            }
                                            elseif(empty($email))
                                            {
                                                echo"Je moet een e-mail invullen!";
                                                
                                                }
                                                elseif(!ereg("^[0-9a-zA-Z_-]@[0-9a-zA-Z_-].[a-zA-Z](2,4)$",$email))
                                                {
                                                    echo"Je e-mail adres voldoet niet aan de normen.";
                                                    
        }
        else
        {
        
        mysql_query("INSERT INTO leden (naam, username, password, actief, status, email, registratie_ip, activatiecode) VALUES ('$naam', '$user', '$pass', '0', '1', '$email', '".$_SERVER['REMOTE_ADDR']."', '$a_code')");
        
        $headers  = '(anti-spam-mime-version:) 1.0' . "\r\n";
        
        $headers .= '(anti-spam-content-type:) text/html; charset=iso-8859-1' . "\r\n";
        
        mail($email, "Activatiecode Flynt.be", 
        "Hallo ".$naam."
        U hebt zich geregistreerd op Flynt.be.
        
        Uw account gegevens:
        Username: ".$user."
        Wachtwoord: ".$pas."
        
        Maar u account is nog niet geactiveerd.
        
        Klik <a href="http://www.flynt.be/?pagina=account/activeren&code=".$a_code."">hier</a> om u account te activeren.
        
        Is de bovenstaande link niet klikbaar?
        Kopieer de onderstaande link in de adres balk van uw browser. 
        http://www.flynt.be/?pagina=account/activeren&code=".$a_code."
        
        Mvg,
        <a href="http://www.flynt.be">Flynt.be</a>", $headers);
        
        echo"Uw account is succesvol aangemaakt.<br>
        U krijgt binnen de 24 uur een activatie e-mail.<br>
        Hebt u uw e-mail dan nog niet ontvangen gelieven dan een e-mail te sturen naar support[at]flynt[dot]be";
}
?>

De fout:

1
Parse error: syntax error, unexpected T_ELSEIF in /home/flynt/domains/flynt.gethost.nl/public_html/flynt/account/regi.php on line 52

Maarten
Geplaatst op: 22 Jan 2008, 20:53
PimpCoins: 0
💸+
Bewerken Quote

Je laatste } wordt niet gebruikt? Dus je sluit iets niet goed af.

Bij de laatste echo misschien even een spatie want nu staat het aan elkaar.

[Laatst bewerkt door Maarten op dinsdag 22 januari 2008, om 20:53]
Nanne
Doe een wens!
Geplaatst op: 22 Jan 2008, 21:02
PimpCoins: 0
💸+
Bewerken Quote

1. Dit is dus zo slordig
2. Dat inspringen doe je verkeerd
3. Als je quotes " gebruikt in het aangeven van een var (wat ook in quotes staat) moet je " gebruiken of ' anders krijg je een foutmelding.

[Laatst bewerkt door Nanne op dinsdag 22 januari 2008, om 21:04]
sandr
aka Chuck Norris
Geplaatst op: 22 Jan 2008, 21:50
PimpCoins: 0
💸+
Bewerken Quote

je hebt
if (regel 2)
{}
elseif (regel 7)
{}
else (regel 37)
{}
elseif (regel 52)
{}

je kan geen elseif na een else
je moet de else op 37 vervangen door elseif(isset($_POST['regi']))

[Laatst bewerkt door sandr op dinsdag 22 januari 2008, om 21:51]
Melvin
Geplaatst op: 22 Jan 2008, 22:10
PimpCoins: 0
💸+
Bewerken Quote

Maarten schreef:

Je laatste } wordt niet gebruikt? Dus je sluit iets niet goed af.

Bij de laatste echo misschien even een spatie want nu staat het aan elkaar.


De spatie enzo maakt toch niet zoveel uit?

Digital
Animestyle.nl
Geplaatst op: 22 Jan 2008, 22:55
PimpCoins: 0
💸+
Bewerken Quote

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
<?php
if($logincheck == 1)
{
    echo "Je bent al ingelogt dus u kan geen twee keer registreren";
}
elseif(!isset($_POST['regi']))
{
?>
<form method="POST" name="regi" action="">
  <table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="100%" id="AutoNumber1">
    <tr>
      <td width="17%">Naam</td>
      <td width="83%"><input type="text" name="naam" size="50"></td>
    </tr>
    <tr>
      <td width="17%">Gebruikersnaam:</td>
      <td width="83%"><input type="text" name="gebr" size="20"></td>
    </tr>
    <tr>
      <td width="17%">Wachtwoord:</td>
      <td width="83%"><input type="text" name="ww" size="20"></td>
    </tr>
    <tr>
      <td width="17%">Wachtwoord bevestigen:</td>
      <td width="83%"><input type="text" name="ww2" size="20"></td>
    </tr>
    <tr>
      <td width="17%">E-mail adres:</td>
      <td width="83%"><input type="text" name="email" size="20"></td>
    </tr>
  </table>
  <input type="submit" value="Registreer" name="regi"></p>
</form>
<?php
}
else
{
    $naam = addslashes($_POST['naam']);
    $user = addslashes($_POST['gebr']);
    $pas = addslashes($_POST['ww']);
    $pass = md5($_POST['ww']);
    $pass2 = md5($_POST['ww2']);
    $email = addslashes($_POST['email']);
    $check = mysql_num_rows(@mysql_query("SELECT * FROM leden WHERE username = '$user'"));
    $a_code = rand();
    $date1 = date("j-n-Y");


    if(empty($naam))
    {
        echo "Je moet een naam invullen.";
    }
    elseif(!ereg("^[0-9a-zA-Z]$", $naam))
    {
        echo "Je mag alleen (hoofd)letters en cijfers gebruiken in je naam.";
    }
    elseif(empty($user))
    {
        echo "Je moet een gebruikersnaam invullen";
    }
    elseif(!ereg("^[0-9a-z_-]$", $user))
    {
        echo "Je mag alleen cijfers en letters gebruiken.<br>Geen hoofdletters en spaties!!!";
    }
    elseif($check != 0)
    {
        echo "De gebruikersnaam is al in gebruik.<br>Kies a.u.b een andere gebruikersnaam.";
    }
    elseif(empty($pass))
    {
        echo "Je moet een wachtwoord invullen.";
    }
    elseif(empty($pass2))
    {
        echo "Je hebt geen wachtwoord ingevuld bij wachtwoord bevestigen";
    }
    elseif($pass != $pass2)
    {
        echo "Wachtwoord en wachtwoord bevestigen is niet het zelfde.<br>Gelieve dat aan te passen";
    }
    elseif(empty($email))
    {
        echo "Je moet een e-mail invullen!";
    }
    elseif(!ereg("^[0-9a-zA-Z_-]@[0-9a-zA-Z_-].[a-zA-Z](2,4)$", $email))
    {
        echo "Je e-mail adres voldoet niet aan de normen.";
    }
    else
    {
        mysql_query("INSERT INTO leden (naam, username, password, actief, status, email, registratie_ip, activatiecode) VALUES ('$naam', '$user', '$pass', '0', '1', '$email', '".$_SERVER['REMOTE_ADDR']."', '$a_code')");

        $headers = '(anti-spam-(anti-spam-(anti-spam-(anti-spam-(anti-spam-(anti-spam-(anti-spam-(anti-spam-mime-version:)))))))) 1.0'."rn";

        $headers .= '(anti-spam-(anti-spam-(anti-spam-(anti-spam-(anti-spam-(anti-spam-(anti-spam-(anti-spam-content-type:)))))))) text/html; charset=iso-8859-1'."rn";

        mail($email, "Activatiecode Flynt.be", "Hallo ".$naam."
        U hebt zich geregistreerd op Flynt.be.

        Uw account gegevens:
        Username: ".$user."
        Wachtwoord: ".$pas."

        Maar u account is nog niet geactiveerd.

        Klik <a href='http://www.flynt.be/?pagina=account/activeren&code=".$a_code."'>hier</a> om u account te activeren.

        Is de bovenstaande link niet klikbaar?
        Kopieer de onderstaande link in de adres balk van uw browser. 
        http://www.flynt.be/?pagina=account/activeren&code=".$a_code."
        
        Mvg,
        <a href='http://www.flynt.be'>Flynt.be</a>", $headers);

        echo "Uw account is succesvol aangemaakt.<br>
        U krijgt binnen de 24 uur een activatie e-mail.<br>
        Hebt u uw e-mail dan nog niet ontvangen gelieven dan een e-mail te sturen naar support[at]flynt[dot]be";
    }
}
?>

1. Je was een if begonnen met elseif ( !!!!!!! )
2. Je had een ) te veel bij een if.
3. Je was een ; vergeten achter een echo.
4. Je had de " niet escaped. (heb ik ' van gemaakt omdat saven.nl de backslash weghaald )
5. Je had een accolade te weinig op het einde. (if niet goed afgesloten)

radiozone schreef:
Ik vindt het een heel rare fout.

Spoiler 😨 (selecteer om te bekijken)
Ik niet =$

Edit: Ojah, de spelfoutjes mag je zelf doen

[Laatst bewerkt door Digital op dinsdag 22 januari 2008, om 23:20]
Suma
heeft gelijk
Geplaatst op: 23 Jan 2008, 02:47
PimpCoins: 0
💸+
Bewerken Quote

1
2
3
4
5
6
7
<?
        $headers  = '(anti-spam-(anti-spam-mime-version:)) 1.0' . "rn";
        
        $headers .= '(anti-spam-(anti-spam-content-type:)) text/html; charset=iso-8859-1' . "rn";
        
        mail($email, "Activatiecode Flynt.be","msg",$headers);
?>

werkt dat serieus?

JoeyK
Geplaatst op: 23 Jan 2008, 07:16
PimpCoins: 0
💸+
Bewerken Quote

@ Suma; Ja.. bij mij werkt het ook nog steeds

Digital
Animestyle.nl
Geplaatst op: 23 Jan 2008, 07:40
PimpCoins: 0
💸+
Bewerken Quote

Ik geloof niet dat ie door de spamfilters van live en gmail komt

📫

Nieuw privébericht

🔥

Registreren


Login