Parse error: parse error, unexpected T_IF
Ik ben een spelletje aan het maken in php (jaja klinkt noob) en het is de bedoeling dat men kan registreren enzovoorts alleen ik krijg een vreemde error die ik nog nooit eerder had gezien.
Parse error: parse error, unexpected T_IF in X:\xampp\htdocs\citylife\reg.php on line 44
Op lijn 44 staat dit
"if($member[x]>19)"
Het zou kunnen dat dit komt door mijn server want ik heb alles overgezt van phptriad naar xampp
Dit is mijn script:
Code (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
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
<h2>Registratie</h2>
<?
if(isset($_POST[reg]))
{
if(empty($_POST[nickname]) || empty($_POST[pass1]) || empty($_POST[pass2]) || empty($_POST[email]))
{
$error.="<li>Vul alle velden in</li>";
}else{
$sql = mysql_query("SELECT * FROM members WHERE name='$_POST[nickname]'");
$member = mysql_fetch_array($sql);
}
if(!empty($member[name]))
{
$error .= "<li>De naam die je in hebt gevuld is al in gebruik</li>";
}
elseif(!preg_match('/^[a-zA-Z0-9_\-]+$/',$_POST[nickname]))
{
$error.="<li>Je nickname bevat ongeldige tekens</li>";
}
elseif(!preg_match('/^[a-zA-Z0-9_\-\@\.]+$/',$_POST[email]))
{
$error.="<li>Je e-mail adres bevat ongeldige tekens<</li>";
}
elseif($_POST[pass1]!=$_POST[pass2])
{
$error .= "<li>Je wachtwoorden komen niet overeen</li>";
}
elseif(!strstr($_POST[email],"@") OR !strstr($_POST[email],"."))
{
$error .= "<li>Het e-mail adres wat je hebt ingevuld is niet correct</li>";
}
if(empty($error))
{
$now = strtotime("NOW");
$sql = mysql_query("SELECT * FROM members ORDER BY id DESC");
$member = mysql_fetch_array($sql)
if($member[x]>19) \\ <==== HIER ZIT DE FOUT ?:S
{
$x = 1;
$y = $member[y]+1;
}else{
$x = $member[x] + 1;
$y = $member[y];
}
$dbPass = md5($_POST[pass1]);
mysql_query("INSERT INTO members SET
id='',
name='$_POST[nickname]',
pass='$dbPass',
email='$_POST[email]',
regDate='$now',
x=$x,
y=$y
");
logIP('reg','Registration Complete',$_POST[nickname]);
echo "De registratie is voltooid! Je kan nu inloggen";
include("login.php");
}else{
echo "<div id=error>Fix de volgende fouten:<ul>";
echo $error."<ul></div>";
}
}
if(!isset($_POST[reg]) OR !empty($error))
{
?>
<form action="" method="post">
<table>
<tr>
<td>Nickname</td>
<td><input type="text" name="nickname"></td>
</tr>
<tr>
<td>Wachtwoord</td>
<td><input type="password" name="pass1"></td>
</tr>
<tr>
<td>Herhaal wachtwoord</td>
<td><input type="password" name="pass2"></td>
</tr>
<tr>
<td>E-mail adres</td>
<td><input type="text" name="email"></td>
</tr>
<tr>
<td></td>
<td><input type="submit" value="Registreer" name="reg"></td>
</tr>
</table>
<?
}
?>
<?
if(isset($_POST[reg]))
{
if(empty($_POST[nickname]) || empty($_POST[pass1]) || empty($_POST[pass2]) || empty($_POST[email]))
{
$error.="<li>Vul alle velden in</li>";
}else{
$sql = mysql_query("SELECT * FROM members WHERE name='$_POST[nickname]'");
$member = mysql_fetch_array($sql);
}
if(!empty($member[name]))
{
$error .= "<li>De naam die je in hebt gevuld is al in gebruik</li>";
}
elseif(!preg_match('/^[a-zA-Z0-9_\-]+$/',$_POST[nickname]))
{
$error.="<li>Je nickname bevat ongeldige tekens</li>";
}
elseif(!preg_match('/^[a-zA-Z0-9_\-\@\.]+$/',$_POST[email]))
{
$error.="<li>Je e-mail adres bevat ongeldige tekens<</li>";
}
elseif($_POST[pass1]!=$_POST[pass2])
{
$error .= "<li>Je wachtwoorden komen niet overeen</li>";
}
elseif(!strstr($_POST[email],"@") OR !strstr($_POST[email],"."))
{
$error .= "<li>Het e-mail adres wat je hebt ingevuld is niet correct</li>";
}
if(empty($error))
{
$now = strtotime("NOW");
$sql = mysql_query("SELECT * FROM members ORDER BY id DESC");
$member = mysql_fetch_array($sql)
if($member[x]>19) \\ <==== HIER ZIT DE FOUT ?:S
{
$x = 1;
$y = $member[y]+1;
}else{
$x = $member[x] + 1;
$y = $member[y];
}
$dbPass = md5($_POST[pass1]);
mysql_query("INSERT INTO members SET
id='',
name='$_POST[nickname]',
pass='$dbPass',
email='$_POST[email]',
regDate='$now',
x=$x,
y=$y
");
logIP('reg','Registration Complete',$_POST[nickname]);
echo "De registratie is voltooid! Je kan nu inloggen";
include("login.php");
}else{
echo "<div id=error>Fix de volgende fouten:<ul>";
echo $error."<ul></div>";
}
}
if(!isset($_POST[reg]) OR !empty($error))
{
?>
<form action="" method="post">
<table>
<tr>
<td>Nickname</td>
<td><input type="text" name="nickname"></td>
</tr>
<tr>
<td>Wachtwoord</td>
<td><input type="password" name="pass1"></td>
</tr>
<tr>
<td>Herhaal wachtwoord</td>
<td><input type="password" name="pass2"></td>
</tr>
<tr>
<td>E-mail adres</td>
<td><input type="text" name="email"></td>
</tr>
<tr>
<td></td>
<td><input type="submit" value="Registreer" name="reg"></td>
</tr>
</table>
<?
}
?>
is het niet $member['x'] want x is geen getal, dus moet je het tussen qoutes zetten..
Geprobeerd... maar geen resultaat... ik heb trouwens al die arrays niet gequote? doe ik nooit is dat trouwens erg?
Op lijn 42 vergeet je te sluiten met ;
Dat niet quoten in die arrays zal PHP je wel vergeven, maar ze horen er wel te staan. Het is tenslotte een string.
$member = mysql_fetch_array($sql) ;