Joshua F Posted September 6, 2010 Share Posted September 6, 2010 Error: Parse error: syntax error, unexpected T_ELSE in C:\xampp\htdocs\Mpz Scripts\admin\pages1.php on line 109 Code: <?php if(isset($_SESSION['admin2'])){ if($_SERVER['REQUEST_METHOD'] == 'POST') { if($_POST['username'] == "" || $_POST['password1'] == "" || $_POST['password2'] == "" || $_POST['mail'] == "" || $_POST['day'] == "" || $_POST['month'] == "" || $_POST['year'] == "" || $_POST['country'] == "-1") { echo "<center>You have left 1 or more boxes empty!</center>"; } else { $rrr = mysql_query('SELECT * FROM pages WHERE sn=\'' . realEscape($_POST['sn']) . '\'') ; if(mysql_num_rows($rrr) > 0) { } echo '<p class="info" id="error"><span class="info_inner">CHECKING DATABASE: Error, Short Name is taken.</span></p>'; } else { echo '<p class="info" id="success"><span class="info_inner">CHECKING DATABASE: Scucess, Short Name is not taken.</span></p>'; mysql_query("INSERT INTO ". $prefix ."users (uname, pass, banned, ip, dob, country, mail, rights, ipbanned, hide_mail) VALUES ('". realEscape($_POST['username']) ."', '". encrypt($_POST['password1']) ."', '0', '". $_SERVER['REMOTE_ADDR'] ."', '". realEscape($_POST['day']) ."/". realEscape($_POST['month']) ."/". realEscape($_POST['year']) ."', '". realEscape($_POST['country']) ."', '". realEscape($_POST['mail']) ."', '0', '0', '". (int)($_POST['hide_mail'] != NULL) ."')"); } } } else { echo '<p class="info" id="error"><span class="info_inner">ERROR: Sessions Error, Not Logged In.</span></p>'; } ?> Quote Link to comment Share on other sites More sharing options...
Mod-Jay Posted September 6, 2010 Share Posted September 6, 2010 Theres an Extra Bracket at the End , remove it Quote Link to comment Share on other sites More sharing options...
nethnet Posted September 6, 2010 Share Posted September 6, 2010 The bracket that is messing up your code is at the beginning of this line: } echo '<p class="info" id="error"><sp... Remove it and it should parse fine. Quote Link to comment Share on other sites More sharing options...
JasonLewis Posted September 6, 2010 Share Posted September 6, 2010 You have if's and else's all over the place. If you indent your code correctly it becomes easier to notice where you open and close if statements. You actually open an if statement and close it straight away, which is probably causing the problem. You could also join the first two statements so it is: if(isset($_SESSION['admin2']) && $_SERVER['REQUEST_METHOD'] == 'POST'){ If you take a look here: if(mysql_num_rows($rrr) > 0) { } echo '<p class="info" id="error"><span class="info_inner">CHECKING DATABASE: Error, Short Name is taken.</span></p>'; You are opening the if statement then closing it straight away, then trying to use an else on it which is probably throwing it all off. Quote Link to comment Share on other sites More sharing options...
Mod-Jay Posted September 6, 2010 Share Posted September 6, 2010 The bracket that is messing up your code is at the beginning of this line: } echo '<p class="info" id="error"><sp... Remove it and it should parse fine. look at the line above it.. if(mysql_num_rows($rrr) > 0) { } echo '<p class="info" id="error"><sp Quote Link to comment Share on other sites More sharing options...
nethnet Posted September 6, 2010 Share Posted September 6, 2010 The bracket that is messing up your code is at the beginning of this line: } echo '<p class="info" id="error"><sp... Remove it and it should parse fine. look at the line above it.. if(mysql_num_rows($rrr) > 0) { } echo '<p class="info" id="error"><sp If you actually read the code you can see that the bracket I pointed out is not cooperative with the code. Removing the bracket at the end of the code may make it parse correctly (or maybe not), but it certainly won't make the code do what he is intending. Quote Link to comment Share on other sites More sharing options...
Joshua F Posted September 6, 2010 Author Share Posted September 6, 2010 Fixed, but when I try to insert it into the database it doesn't do it. It says it did, but it doesn't. Here's my new code. <?php if(isset($_SESSION['admin2'])){ if($_SERVER['REQUEST_METHOD'] == 'POST') { if($_POST['name'] == "" || $_POST['sn'] == "" || $_POST['content'] == "") { echo '<p class="info" id="warning"><span class="info_inner">You left one or more fields blank.</span></p>'; } else { $rrr = mysql_query('SELECT * FROM pages WHERE sn=\'' . realEscape($_POST['sn']) . '\'') ; if(mysql_num_rows($rrr) > 0) { echo '<p class="info" id="error"><span class="info_inner">CHECKING DATABASE: Error, Short Name is taken.</span></p>'; } else { echo '<p class="info" id="success"><span class="info_inner">CHECKING DATABASE: Scucess, Short Name is not taken.</span></p>'; mysql_query("INSERT INTO pages (name, sn, content, date, update) VALUES ('". realEscape($_POST['name']) ."', '". encrypt($_POST['sn']) ."', '". encrypt($_POST['content']) ."', NOW(), NOW())"); } } } } else { echo '<p class="info" id="error"><span class="info_inner">ERROR: Sessions Error, Not Logged In.</span></p>'; } ?> Quote Link to comment Share on other sites More sharing options...
Joshua F Posted September 6, 2010 Author Share Posted September 6, 2010 Added or die(mysql_error()) ; Error You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'update) VALUES ('j', 'infol', 'j', NOW(), NOW())' at line 1 Quote Link to comment Share on other sites More sharing options...
JasonLewis Posted September 6, 2010 Share Posted September 6, 2010 You can't use update as a field name in MySQL, as it's a reserved word. If you surround it with those inverted ticks (`) then it should work, however it is recommended you select a different name for your field. Like date_update or something. Quote Link to comment Share on other sites More sharing options...
Joshua F Posted September 6, 2010 Author Share Posted September 6, 2010 You can't use update as a field name in MySQL, as it's a reserved word. If you surround it with those inverted ticks (`) then it should work, however it is recommended you select a different name for your field. Like date_update or something. Thanks, it works now. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.