Hallo mensen,

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:

<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>
    <?
}
?>
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 ;
Ooh fout zeg... ik schaam me dood dat ik dat niet zag

Maar bedankt voor de hulp... Best wel verspilde topic :#
Dat niet quoten in die arrays zal PHP je wel vergeven, maar ze horen er wel te staan. Het is tenslotte een string.
Regel 42 ben je vergeten af te sluiten met een ;

$member = mysql_fetch_array($sql) ;

Reageren