marksie1988 Posted August 1, 2007 Share Posted August 1, 2007 ok i have a form which when fields on it are eidted it should update a mysql talbe the code is below all i can think is that my part in adminprocess.tcos that has the update mysql in it is incorrect. please advice MySQL Table TABLE `songs` ( `id` int(10) unsigned NOT NULL auto_increment, `postdate` int(11) default NULL, `title` varchar(50) NOT NULL, `length` time NOT NULL default '00:00:00', `link` varchar(200) NOT NULL, `lyrics` text NOT NULL, PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=8 ; there is a form which the user selects the song name to go to the edit page. that form works ok. Form (song_edit.tcos) <? /** * Admin.tcos */ include("include/session.tcos"); /** * User not an administrator, redirect to main page * automatically. */ if(!$session->isAdmin()){ header("Location: index.tcos"); } else{ /** * Administrator is viewing page, so display all * forms. */ ?> <html> <body> <h1>Song Actions please do not use yet!!</h1> <font size="5" color="#ff0000"> <b>::::::::::::::::::::::::::::::::::::::::::::</b></font> <font size="4">Logged in as <b><? echo $session->username; ?></b></font><br><br> Back to [<a href="index.tcos">Main Page</a>]<br><br> <? if($form->num_errors > 0){ echo "<font size=\"4\" color=\"#ff0000\">" ."!*** Error with request, please fix</font><br><br>"; } ?> <table align="left" border="0" cellspacing="5" cellpadding="5"> <?php if(ctype_digit($_GET['id'])) $song_id = $_GET['id']; else $article_id = 0; $query = "SELECT * FROM `songs` WHERE `id` = '" . $song_id . "' LIMIT 1;"; $result = mysql_query($query); if(mysql_num_rows($result) == 0) { echo "<h5 class=\"style2\">There are no songs with this id</h5>"; } else{ while ($row = mysql_fetch_assoc ($result)) { ?> <h3>Edit Song</h3> <? echo $form->error("editsong"); ?> <form action="adminprocess.tcos" method="POST"> Title:<br> <input type="text" name="title" maxlength="50" value="<?php echo "$row[title]";?>"><br> Length:<br> <input type="text" name="length" maxlength="50" value="<?php echo "$row[length]";?>"><br> Song Link (http://songlocation):<br> <input type="text" name="link" value="<?php echo "$row[link]";?>"><br> Lyrics:<br> <textarea rows="20" cols="90" name="lyrics"><?php echo "$row[lyrics]";?></textarea><br> <input type="hidden" name="subeditsong" value="1"> <input type="submit" value="Edit Song!"> </form> <?php } } ?> </table> </body> </html> <? } ?> process (adminprocess.tcos) this is where the form is directed to update. <? /** * AdminProcess.php * * The AdminProcess class is meant to simplify the task of processing * admin submitted forms from the admin center, these deal with * member system adjustments. * * Written by: Jpmaster77 a.k.a. The Grandmaster of C++ (GMC) * Last Updated: August 15, 2004 */ include("include/session.tcos"); class AdminProcess { /* Class constructor */ function AdminProcess(){ global $session; /* Make sure administrator is accessing page */ if(!$session->isAdmin()){ header("Location: ../main.php"); return; } /* Admin submitted delete user form */ else if(isset($_POST['subdeluser'])){ $this->procDeleteUser(); } /* Admin submitted add news form */ else if(isset($_POST['subaddnews'])){ $this->procaddnews(); } /* Admin submitted delete news form */ else if(isset($_POST['subdelnews'])){ $this->procDeletenews(); } /* Admin submitted add song form */ else if(isset($_POST['subaddsong'])){ $this->procaddsong(); } /* Admin submitted edit song form */ else if(isset($_POST['subeditsong'])){ $this->proceditsong(); } /* Admin submitted change welcome form */ else if(isset($_POST['subwelcome'])){ $this->procwelcome(); } /* Should not get here, redirect to home page */ else{ header("Location: ../main.php"); } } /** * procDeleteUser - If the submitted username is correct, * the user is deleted from the database. */ function procDeleteUser(){ global $session, $database, $form; /* Username error checking */ $subuser = $this->checkUsername("deluser"); /* Errors exist, have user correct them */ if($form->num_errors > 0){ $_SESSION['value_array'] = $_POST; $_SESSION['error_array'] = $form->getErrorArray(); header("Location: ".$session->referrer); } /* Delete user from database */ else{ $q = "DELETE FROM ".TBL_USERS." WHERE username = '$subuser'"; $database->query($q); header("Location: ".$session->referrer); } } /** * procaddnews */ function procaddnews(){ global $session, $database, $form; /* Errors exist, have user correct them */ if($form->num_errors > 0){ $_SESSION['value_array'] = $_POST; $_SESSION['error_array'] = $form->getErrorArray(); header("Location: ".$session->referrer); } else{ $q = "INSERT INTO ".TBL_NEWS." (id, postdate, title, newstext) VALUES ('null', UNIX_TIMESTAMP() , '$_POST[title]', '$_POST[newstext]')"; $database->query($q); header("Location: ".$session->referrer); } } /** * procaddsong */ function procaddsong(){ global $session, $database, $form; /* Errors exist, have user correct them */ if($form->num_errors > 0){ $_SESSION['value_array'] = $_POST; $_SESSION['error_array'] = $form->getErrorArray(); header("Location: ".$session->referrer); } else{ $q = "INSERT INTO ".TBL_SONGS." (id, postdate, title, length, link, lyrics) VALUES ('null', UNIX_TIMESTAMP() , '$_POST[title]', '$_POST[length]', '$_POST[link]', '$_POST[lyrics]')"; $database->query($q); header("Location: ".$session->referrer); } } /** * proceditsong */ function proceditsong(){ $this->time = time(); global $session, $database, $form; if($form->num_errors > 0){ $_SESSION['value_array'] = $_POST; $_SESSION['error_array'] = $form->getErrorArray(); header("Location: ".$session->referrer); } else{if(ctype_digit($_GET['id'])) $article_id = $_GET['id']; else $article_id = 0;$query = "SELECT * FROM `songs` WHERE `id` = '" . $article_id . "' LIMIT 1;"; $result = mysql_query($query); if(mysql_num_rows($result) == 0) { echo "<h5 class=\"style2\">There is no news with this article id</h5>"; } else{ while ($row = mysql_fetch_assoc ($result)) { mysql_query("UPDATE songs SET title = '$_POST[title]' WHERE id = '" . $article_id . "' "); mysql_query("UPDATE songs SET length = '$_POST[length]' WHERE id = '" . $article_id . "' "); header("Location: ".$session->referrer); } } } /** * procwelcome */ function procwelcome(){ $this->time = time(); global $session, $database, $form; if($form->num_errors > 0){ $_SESSION['value_array'] = $_POST; $_SESSION['error_array'] = $form->getErrorArray(); header("Location: ".$session->referrer); } else{ mysql_query("UPDATE welcome SET welcome = '$_POST[welcome]' WHERE title = 'welcome'"); mysql_query("UPDATE welcome SET timestamp = UNIX_TIMESTAMP() WHERE title = 'welcome'"); header("Location: ".$session->referrer); } } /** * procDeletenews - If the submitted username is correct, * the user is deleted from the database. */ function procDeletenews(){ global $session, $database, $form; if($form->num_errors > 0){ $_SESSION['value_array'] = $_POST; $_SESSION['error_array'] = $form->getErrorArray(); header("Location: ".$session->referrer); } else{ mysql_query("DELETE FROM news WHERE title = '$_POST[delnews]'"); header("Location: ".$session->referrer); } } /** * checkUsername - Helper function for the above processing, * it makes sure the submitted username is valid, if not, * it adds the appropritate error to the form. */ function checkUsername($uname, $ban=false){ global $database, $form; /* Username error checking */ $subuser = $_POST[$uname]; $field = $uname; //Use field name for username if(!$subuser || strlen($subuser = trim($subuser)) == 0){ $form->setError($field, "* Username not entered<br>"); } else{ /* Make sure username is in database */ $subuser = stripslashes($subuser); if(strlen($subuser) < 5 || strlen($subuser) > 30 || !eregi("^([0-9a-z])+$", $subuser) || (!$ban && !$database->usernameTaken($subuser))){ $form->setError($field, "* Username does not exist<br>"); } } return $subuser; } }; /* Initialize process */ $adminprocess = new AdminProcess; ?> this is the code i think is giving me the problem i think ive made a total mess of it. /** * proceditsong */ function proceditsong(){ $this->time = time(); global $session, $database, $form; if($form->num_errors > 0){ $_SESSION['value_array'] = $_POST; $_SESSION['error_array'] = $form->getErrorArray(); header("Location: ".$session->referrer); } else{if(ctype_digit($_GET['id'])) $article_id = $_GET['id']; else $article_id = 0;$query = "SELECT * FROM `songs` WHERE `id` = '" . $article_id . "' LIMIT 1;"; $result = mysql_query($query); if(mysql_num_rows($result) == 0) { echo "<h5 class=\"style2\">There is no news with this article id</h5>"; } else{ while ($row = mysql_fetch_assoc ($result)) { mysql_query("UPDATE songs SET title = '$_POST[title]' WHERE id = '" . $article_id . "' "); mysql_query("UPDATE songs SET length = '$_POST[length]' WHERE id = '" . $article_id . "' "); header("Location: ".$session->referrer); } } } please help me out as this is one of the last things i need to do for the website to function fully Thanks Steve Quote Link to comment https://forums.phpfreaks.com/topic/62935-solved-problem-with-code-please-help/ Share on other sites More sharing options...
btherl Posted August 2, 2007 Share Posted August 2, 2007 Can you please fix your indentation? Otherwise I can't understand your code. You should never have things looking like this: } } and NEVER EVER have things looking like this: } } Instead, it should look like this: if (something) { do some blah; while (somethingelse) { some more blah; } } Quote Link to comment https://forums.phpfreaks.com/topic/62935-solved-problem-with-code-please-help/#findComment-313552 Share on other sites More sharing options...
marksie1988 Posted August 2, 2007 Author Share Posted August 2, 2007 song_edit.tcos <? /** * Admin.tcos */ include("include/session.tcos"); /** * User not an administrator, redirect to main page * automatically. */ if(!$session->isAdmin()){ header("Location: index.tcos"); } else{ /** * Administrator is viewing page, so display all * forms. */ ?> <html> <body> <h1>Song Actions please do not use yet!!</h1> <font size="5" color="#ff0000"> <b>::::::::::::::::::::::::::::::::::::::::::::</b></font> <font size="4">Logged in as <b><? echo $session->username; ?></b></font><br><br> Back to [<a href="index.tcos">Main Page</a>]<br><br> <? if($form->num_errors > 0){ echo "<font size=\"4\" color=\"#ff0000\">" ."!*** Error with request, please fix</font><br><br>"; } ?> <table align="left" border="0" cellspacing="5" cellpadding="5"> <?php if(ctype_digit($_GET['id'])) $song_id = $_GET['id']; else $article_id = 0; $query = "SELECT * FROM `songs` WHERE `id` = '" . $song_id . "' LIMIT 1;"; $result = mysql_query($query); if(mysql_num_rows($result) == 0) { echo "<h5 class=\"style2\">There are no songs with this id</h5>"; } else{ while ($row = mysql_fetch_assoc ($result)) { ?> <h3>Edit Song</h3> <? echo $form->error("editsong"); ?> <form action="adminprocess.tcos" method="POST"> Title:<br> <input type="text" name="title" maxlength="50" value="<?php echo "$row[title]";?>"><br> Length:<br> <input type="text" name="length" maxlength="50" value="<?php echo "$row[length]";?>"><br> Song Link (http://songlocation):<br> <input type="text" name="link" value="<?php echo "$row[link]";?>"><br> Lyrics:<br> <textarea rows="20" cols="90" name="lyrics"><?php echo "$row[lyrics]";?></textarea><br> <input type="hidden" name="subeditsong" value="1"> <input type="submit" value="Edit Song!"> </form> <?php } } ?> </table> </body> </html> <? } ?> adminprocess.tcos <? /** * AdminProcess.php * * The AdminProcess class is meant to simplify the task of processing * admin submitted forms from the admin center, these deal with * member system adjustments. * * Written by: Jpmaster77 a.k.a. The Grandmaster of C++ (GMC) * Last Updated: August 15, 2004 */ include("include/session.tcos"); class AdminProcess { /* Class constructor */ function AdminProcess(){ global $session; /* Make sure administrator is accessing page */ if(!$session->isAdmin()){ header("Location: ../main.php"); return; } /* Admin submitted delete user form */ else if(isset($_POST['subdeluser'])){ $this->procDeleteUser(); } /* Admin submitted add news form */ else if(isset($_POST['subaddnews'])){ $this->procaddnews(); } /* Admin submitted delete news form */ else if(isset($_POST['subdelnews'])){ $this->procDeletenews(); } /* Admin submitted add song form */ else if(isset($_POST['subaddsong'])){ $this->procaddsong(); } /* Admin submitted edit song form */ else if(isset($_POST['subeditsong'])){ $this->proceditsong(); } /* Admin submitted change welcome form */ else if(isset($_POST['subwelcome'])){ $this->procwelcome(); } /* Should not get here, redirect to home page */ else{ header("Location: ../main.php"); } } /** * procDeleteUser - If the submitted username is correct, * the user is deleted from the database. */ function procDeleteUser(){ global $session, $database, $form; /* Username error checking */ $subuser = $this->checkUsername("deluser"); /* Errors exist, have user correct them */ if($form->num_errors > 0){ $_SESSION['value_array'] = $_POST; $_SESSION['error_array'] = $form->getErrorArray(); header("Location: ".$session->referrer); } /* Delete user from database */ else{ $q = "DELETE FROM ".TBL_USERS." WHERE username = '$subuser'"; $database->query($q); header("Location: ".$session->referrer); } } /** * procaddnews */ function procaddnews(){ global $session, $database, $form; /* Errors exist, have user correct them */ if($form->num_errors > 0){ $_SESSION['value_array'] = $_POST; $_SESSION['error_array'] = $form->getErrorArray(); header("Location: ".$session->referrer); } else{ $q = "INSERT INTO ".TBL_NEWS." (id, postdate, title, newstext) VALUES ('null', UNIX_TIMESTAMP() , '$_POST[title]', '$_POST[newstext]')"; $database->query($q); header("Location: ".$session->referrer); } } /** * procaddsong */ function procaddsong(){ global $session, $database, $form; /* Errors exist, have user correct them */ if($form->num_errors > 0){ $_SESSION['value_array'] = $_POST; $_SESSION['error_array'] = $form->getErrorArray(); header("Location: ".$session->referrer); } else{ $q = "INSERT INTO ".TBL_SONGS." (id, postdate, title, length, link, lyrics) VALUES ('null', UNIX_TIMESTAMP() , '$_POST[title]', '$_POST[length]', '$_POST[link]', '$_POST[lyrics]')"; $database->query($q); header("Location: ".$session->referrer); } } /** * proceditsong */ function proceditsong(){ $this->time = time(); global $session, $database, $form; if($form->num_errors > 0){ $_SESSION['value_array'] = $_POST; $_SESSION['error_array'] = $form->getErrorArray(); header("Location: ".$session->referrer); } else{if(ctype_digit($_GET['id'])) $article_id = $_GET['id']; else $article_id = 0;$query = "SELECT * FROM `songs` WHERE `id` = '" . $article_id . "' LIMIT 1;"; $result = mysql_query($query); if(mysql_num_rows($result) == 0) { echo "<h5 class=\"style2\">There is no news with this article id</h5>"; } else{ while ($row = mysql_fetch_assoc ($result)) { mysql_query("UPDATE songs SET title = '$_POST[title]' WHERE id = '" . $article_id . "' "); mysql_query("UPDATE songs SET length = '$_POST[length]' WHERE id = '" . $article_id . "' "); header("Location: ".$session->referrer); } } } /** * procwelcome */ function procwelcome(){ $this->time = time(); global $session, $database, $form; if($form->num_errors > 0){ $_SESSION['value_array'] = $_POST; $_SESSION['error_array'] = $form->getErrorArray(); header("Location: ".$session->referrer); } else{ mysql_query("UPDATE welcome SET welcome = '$_POST[welcome]' WHERE title = 'welcome'"); mysql_query("UPDATE welcome SET timestamp = UNIX_TIMESTAMP() WHERE title = 'welcome'"); header("Location: ".$session->referrer); } } /** * procDeletenews - If the submitted username is correct, * the user is deleted from the database. */ function procDeletenews(){ global $session, $database, $form; if($form->num_errors > 0){ $_SESSION['value_array'] = $_POST; $_SESSION['error_array'] = $form->getErrorArray(); header("Location: ".$session->referrer); } else{ mysql_query("DELETE FROM news WHERE title = '$_POST[delnews]'"); header("Location: ".$session->referrer); } } /** * checkUsername - Helper function for the above processing, * it makes sure the submitted username is valid, if not, * it adds the appropritate error to the form. */ function checkUsername($uname, $ban=false){ global $database, $form; /* Username error checking */ $subuser = $_POST[$uname]; $field = $uname; //Use field name for username if(!$subuser || strlen($subuser = trim($subuser)) == 0){ $form->setError($field, "* Username not entered<br>"); } else{ /* Make sure username is in database */ $subuser = stripslashes($subuser); if(strlen($subuser) < 5 || strlen($subuser) > 30 || !eregi("^([0-9a-z])+$", $subuser) || (!$ban && !$database->usernameTaken($subuser))){ $form->setError($field, "* Username does not exist<br>"); } } return $subuser; } }; /* Initialize process */ $adminprocess = new AdminProcess; ?> is that ok for you? i did notice that teh code was rather messy Quote Link to comment https://forums.phpfreaks.com/topic/62935-solved-problem-with-code-please-help/#findComment-313735 Share on other sites More sharing options...
DeadEvil Posted August 2, 2007 Share Posted August 2, 2007 this is the problem: <?php echo "$row[title]";?> the $row[title] become string try to change like this: <?=$row['title']?> Quote Link to comment https://forums.phpfreaks.com/topic/62935-solved-problem-with-code-please-help/#findComment-313739 Share on other sites More sharing options...
btherl Posted August 2, 2007 Share Posted August 2, 2007 Thanks, that's much better Ok, next is to check for errors on all your mysql queries, especially on the ones you suspect. Make them look like this: mysql_query("...") or die(mysql_error()); Even better is if you store the query in a variable, so you can print out the query along with your error, like this: $sql = "SELECT * FROM foo"; mysql_query($sql) or die("Error in $sql\n" . mysql_error()); Quote Link to comment https://forums.phpfreaks.com/topic/62935-solved-problem-with-code-please-help/#findComment-313740 Share on other sites More sharing options...
marksie1988 Posted August 2, 2007 Author Share Posted August 2, 2007 ok i changed the sql to what you sugested $sql = "UPDATE songs SET title = '$_POST[title]' WHERE id = '" . $article_id . "' "; mysql_query($sql) or die("Error in $sql\n" . mysql_error()); $sql1 = "UPDATE songs SET length = '$_POST[length]' WHERE id = '" . $article_id . "' "; mysql_query($sql1) or die("Error in $sql1\n" . mysql_error()); and i got this error Parse error: syntax error, unexpected ';', expecting T_FUNCTION in /home/evildoom/public_html/tcos/admin/adminprocess.tcos on line 203 <? /** * AdminProcess.php * * The AdminProcess class is meant to simplify the task of processing * admin submitted forms from the admin center, these deal with * member system adjustments. * * Written by: Jpmaster77 a.k.a. The Grandmaster of C++ (GMC) * Last Updated: August 15, 2004 */ include("include/session.tcos"); class AdminProcess { /* Class constructor */ function AdminProcess(){ global $session; /* Make sure administrator is accessing page */ if(!$session->isAdmin()){ header("Location: ../main.php"); return; } /* Admin submitted delete user form */ else if(isset($_POST['subdeluser'])){ $this->procDeleteUser(); } /* Admin submitted add news form */ else if(isset($_POST['subaddnews'])){ $this->procaddnews(); } /* Admin submitted delete news form */ else if(isset($_POST['subdelnews'])){ $this->procDeletenews(); } /* Admin submitted add song form */ else if(isset($_POST['subaddsong'])){ $this->procaddsong(); } /* Admin submitted edit song form */ else if(isset($_POST['subeditsong'])){ $this->proceditsong(); } /* Admin submitted change welcome form */ else if(isset($_POST['subwelcome'])){ $this->procwelcome(); } /* Should not get here, redirect to home page */ else{ header("Location: ../main.php"); } } /** * procDeleteUser - If the submitted username is correct, * the user is deleted from the database. */ function procDeleteUser(){ global $session, $database, $form; /* Username error checking */ $subuser = $this->checkUsername("deluser"); /* Errors exist, have user correct them */ if($form->num_errors > 0){ $_SESSION['value_array'] = $_POST; $_SESSION['error_array'] = $form->getErrorArray(); header("Location: ".$session->referrer); } /* Delete user from database */ else{ $q = "DELETE FROM ".TBL_USERS." WHERE username = '$subuser'"; $database->query($q); header("Location: ".$session->referrer); } } /** * procaddnews */ function procaddnews(){ global $session, $database, $form; /* Errors exist, have user correct them */ if($form->num_errors > 0){ $_SESSION['value_array'] = $_POST; $_SESSION['error_array'] = $form->getErrorArray(); header("Location: ".$session->referrer); } else{ $q = "INSERT INTO ".TBL_NEWS." (id, postdate, title, newstext) VALUES ('null', UNIX_TIMESTAMP() , '$_POST[title]', '$_POST[newstext]')"; $database->query($q); header("Location: ".$session->referrer); } } /** * procaddsong */ function procaddsong(){ global $session, $database, $form; /* Errors exist, have user correct them */ if($form->num_errors > 0){ $_SESSION['value_array'] = $_POST; $_SESSION['error_array'] = $form->getErrorArray(); header("Location: ".$session->referrer); } else{ $q = "INSERT INTO ".TBL_SONGS." (id, postdate, title, length, link, lyrics) VALUES ('null', UNIX_TIMESTAMP() , '$_POST[title]', '$_POST[length]', '$_POST[link]', '$_POST[lyrics]')"; $database->query($q); header("Location: ".$session->referrer); } } /** * proceditsong */ function proceditsong(){ $this->time = time(); global $session, $database, $form; if($form->num_errors > 0){ $_SESSION['value_array'] = $_POST; $_SESSION['error_array'] = $form->getErrorArray(); header("Location: ".$session->referrer); } else{if(ctype_digit($_GET['id'])) $article_id = $_GET['id']; else $article_id = 0;$query = "SELECT * FROM `songs` WHERE `id` = '" . $article_id . "' LIMIT 1;"; $result = mysql_query($query); if(mysql_num_rows($result) == 0) { echo "<h5 class=\"style2\">There is no news with this article id</h5>"; } else{ while ($row = mysql_fetch_assoc ($result)) { $sql = "UPDATE songs SET title = '$_POST[title]' WHERE id = '" . $article_id . "' "; mysql_query($sql) or die("Error in $sql\n" . mysql_error()); $sql1 = "UPDATE songs SET length = '$_POST[length]' WHERE id = '" . $article_id . "' "; mysql_query($sql1) or die("Error in $sql1\n" . mysql_error()); header("Location: ".$session->referrer); } } } /** * procwelcome */ function procwelcome(){ $this->time = time(); global $session, $database, $form; if($form->num_errors > 0){ $_SESSION['value_array'] = $_POST; $_SESSION['error_array'] = $form->getErrorArray(); header("Location: ".$session->referrer); } else{ mysql_query("UPDATE welcome SET welcome = '$_POST[welcome]' WHERE title = 'welcome'"); mysql_query("UPDATE welcome SET timestamp = UNIX_TIMESTAMP() WHERE title = 'welcome'"); header("Location: ".$session->referrer); } } /** * procDeletenews - If the submitted username is correct, * the user is deleted from the database. */ function procDeletenews(){ global $session, $database, $form; if($form->num_errors > 0){ $_SESSION['value_array'] = $_POST; $_SESSION['error_array'] = $form->getErrorArray(); header("Location: ".$session->referrer); } else{ mysql_query("DELETE FROM news WHERE title = '$_POST[delnews]'"); header("Location: ".$session->referrer); } } /** * checkUsername - Helper function for the above processing, * it makes sure the submitted username is valid, if not, * it adds the appropritate error to the form. */ function checkUsername($uname, $ban=false){ global $database, $form; /* Username error checking */ $subuser = $_POST[$uname]; $field = $uname; //Use field name for username if(!$subuser || strlen($subuser = trim($subuser)) == 0){ $form->setError($field, "* Username not entered<br>"); } else{ /* Make sure username is in database */ $subuser = stripslashes($subuser); if(strlen($subuser) < 5 || strlen($subuser) > 30 || !eregi("^([0-9a-z])+$", $subuser) || (!$ban && !$database->usernameTaken($subuser))){ $form->setError($field, "* Username does not exist<br>"); } } return $subuser; } }; /* Initialize process */ $adminprocess = new AdminProcess; ?> Quote Link to comment https://forums.phpfreaks.com/topic/62935-solved-problem-with-code-please-help/#findComment-313744 Share on other sites More sharing options...
btherl Posted August 2, 2007 Share Posted August 2, 2007 Can you check the code nearby? What you posted is correct, so the syntax error is somewhere else. Quote Link to comment https://forums.phpfreaks.com/topic/62935-solved-problem-with-code-please-help/#findComment-313750 Share on other sites More sharing options...
marksie1988 Posted August 2, 2007 Author Share Posted August 2, 2007 i have looked through the rest of the code and i cannot find anything. would i be able to put all the files in a zip and email you them? Quote Link to comment https://forums.phpfreaks.com/topic/62935-solved-problem-with-code-please-help/#findComment-313757 Share on other sites More sharing options...
btherl Posted August 2, 2007 Share Posted August 2, 2007 Ok, I just saw your edit. The problem is your INDENTING If you indent your code properly, then you will find what you are missing, and the error will go away. You are missing a closing brace somewhere (the '}' symbol). It's hard to tell where it is missing, because your indenting is not consistent. Quote Link to comment https://forums.phpfreaks.com/topic/62935-solved-problem-with-code-please-help/#findComment-313760 Share on other sites More sharing options...
marksie1988 Posted August 2, 2007 Author Share Posted August 2, 2007 ahh ok then i will sort it out then and find it ive always writen code messy but i guess this is a lesson learnt lol ill get this fixed and hope it fixes Quote Link to comment https://forums.phpfreaks.com/topic/62935-solved-problem-with-code-please-help/#findComment-313763 Share on other sites More sharing options...
marksie1988 Posted August 2, 2007 Author Share Posted August 2, 2007 ok ive fixed the problem now. i see what you mean about indenting correctly you can see where gaps are too big then here is the updated code and now what happens is that it doesnt get the article id to update the fields i can tell as it shows my error there are no songs with this article id <? /** * AdminProcess.php * * The AdminProcess class is meant to simplify the task of processing * admin submitted forms from the admin center, these deal with * member system adjustments. * * Written by: Jpmaster77 a.k.a. The Grandmaster of C++ (GMC) * Last Updated: August 15, 2004 */ include("include/session.tcos"); class AdminProcess { /* Class constructor */ function AdminProcess(){ global $session; /* Make sure administrator is accessing page */ if(!$session->isAdmin()){ header("Location: ../main.php"); return; } /* Admin submitted delete user form */ else if(isset($_POST['subdeluser'])){ $this->procDeleteUser(); } /* Admin submitted add news form */ else if(isset($_POST['subaddnews'])){ $this->procaddnews(); } /* Admin submitted delete news form */ else if(isset($_POST['subdelnews'])){ $this->procDeletenews(); } /* Admin submitted add song form */ else if(isset($_POST['subaddsong'])){ $this->procaddsong(); } /* Admin submitted edit song form */ else if(isset($_POST['subeditsong'])){ $this->proceditsong(); } /* Admin submitted change welcome form */ else if(isset($_POST['subwelcome'])){ $this->procwelcome(); } /* Should not get here, redirect to home page */ else{ header("Location: ../index.tcos"); } } /** * procDeleteUser - If the submitted username is correct, * the user is deleted from the database. */ function procDeleteUser(){ global $session, $database, $form; /* Username error checking */ $subuser = $this->checkUsername("deluser"); /* Errors exist, have user correct them */ if($form->num_errors > 0){ $_SESSION['value_array'] = $_POST; $_SESSION['error_array'] = $form->getErrorArray(); header("Location: ".$session->referrer); } /* Delete user from database */ else{ $q = "DELETE FROM ".TBL_USERS." WHERE username = '$subuser'"; $database->query($q); header("Location: ".$session->referrer); } } /** * procaddnews */ function procaddnews(){ global $session, $database, $form; /* Errors exist, have user correct them */ if($form->num_errors > 0){ $_SESSION['value_array'] = $_POST; $_SESSION['error_array'] = $form->getErrorArray(); header("Location: ".$session->referrer); } else{ $q = "INSERT INTO ".TBL_NEWS." (id, postdate, title, newstext) VALUES ('null', UNIX_TIMESTAMP() , '$_POST[title]', '$_POST[newstext]')"; $database->query($q); header("Location: ".$session->referrer); } } /** * procaddsong */ function procaddsong(){ global $session, $database, $form; /* Errors exist, have user correct them */ if($form->num_errors > 0){ $_SESSION['value_array'] = $_POST; $_SESSION['error_array'] = $form->getErrorArray(); header("Location: ".$session->referrer); } else{ $q = "INSERT INTO ".TBL_SONGS." (id, postdate, title, length, link, lyrics) VALUES ('null', UNIX_TIMESTAMP() , '$_POST[title]', '$_POST[length]', '$_POST[link]', '$_POST[lyrics]')"; $database->query($q); header("Location: ".$session->referrer); } } /** * proceditsong */ function proceditsong(){ $this->time = time(); global $session, $database, $form; if($form->num_errors > 0){ $_SESSION['value_array'] = $_POST; $_SESSION['error_array'] = $form->getErrorArray(); header("Location: ".$session->referrer); } else{if(ctype_digit($_GET['id'])) $article_id = $_GET['id']; else $article_id = 0;$query = "SELECT * FROM `songs` WHERE `id` = '" . $article_id . "' ;"; $result = mysql_query($query); if(mysql_num_rows($result) == 0) { echo "<h5 class=\"style2\">There are no songs with this article id</h5>"; } else{ while ($row = mysql_fetch_assoc ($result)) { $sql = "UPDATE songs SET title = '$_POST[title]' WHERE id = '" . $article_id . "' "; mysql_query($sql) or die("Error in $sql\n" . mysql_error()); $sql1 = "UPDATE songs SET length = '$_POST[length]' WHERE id = '" . $article_id . "' "; mysql_query($sql1) or die("Error in $sql1\n" . mysql_error()); header("Location: ".$session->referrer); } } } } /** * procwelcome */ function procwelcome(){ $this->time = time(); global $session, $database, $form; if($form->num_errors > 0){ $_SESSION['value_array'] = $_POST; $_SESSION['error_array'] = $form->getErrorArray(); header("Location: ".$session->referrer); } else{ mysql_query("UPDATE welcome SET welcome = '$_POST[welcome]' WHERE title = 'welcome'"); mysql_query("UPDATE welcome SET timestamp = UNIX_TIMESTAMP() WHERE title = 'welcome'"); header("Location: ".$session->referrer); } } /** * procDeletenews - If the submitted username is correct, * the user is deleted from the database. */ function procDeletenews(){ global $session, $database, $form; if($form->num_errors > 0){ $_SESSION['value_array'] = $_POST; $_SESSION['error_array'] = $form->getErrorArray(); header("Location: ".$session->referrer); } else{ mysql_query("DELETE FROM news WHERE title = '$_POST[delnews]'"); header("Location: ".$session->referrer); } } /** * checkUsername - Helper function for the above processing, * it makes sure the submitted username is valid, if not, * it adds the appropritate error to the form. */ function checkUsername($uname, $ban=false){ global $database, $form; /* Username error checking */ $subuser = $_POST[$uname]; $field = $uname; //Use field name for username if(!$subuser || strlen($subuser = trim($subuser)) == 0){ $form->setError($field, "* Username not entered<br>"); } else{ /* Make sure username is in database */ $subuser = stripslashes($subuser); if(strlen($subuser) < 5 || strlen($subuser) > 30 || !eregi("^([0-9a-z])+$", $subuser) || (!$ban && !$database->usernameTaken($subuser))){ $form->setError($field, "* Username does not exist<br>"); } } return $subuser; } }; /* Initialize process */ $adminprocess = new AdminProcess; ?> Quote Link to comment https://forums.phpfreaks.com/topic/62935-solved-problem-with-code-please-help/#findComment-313779 Share on other sites More sharing options...
btherl Posted August 2, 2007 Share Posted August 2, 2007 Looks much better, thankyou Ok, time to work backwards from the error and find out what's wrong. First, print out your SELECT query to see that it's correct. If it's not correct, print out $article_id to see if that is correct. If $article_id is not correct, then print out $_GET['id'] (where $article_id came from). Quote Link to comment https://forums.phpfreaks.com/topic/62935-solved-problem-with-code-please-help/#findComment-313784 Share on other sites More sharing options...
marksie1988 Posted August 2, 2007 Author Share Posted August 2, 2007 $article_id shows 0 so that is incorrect and when i do $_GET['id'] it doesnt display anything looks like this part is not correct for what i am trying to do. i need to send the id from the form to the adminprocess file somehow. Quote Link to comment https://forums.phpfreaks.com/topic/62935-solved-problem-with-code-please-help/#findComment-313796 Share on other sites More sharing options...
btherl Posted August 2, 2007 Share Posted August 2, 2007 Yep, sounds right. I would do it this way. Add this to the form: <input name=song_id type=hidden value="<?php echo $song_id;?>"> Same as you've done with the other variables. Then you can access it as $_POST['song_id'] for your SELECT query. Quote Link to comment https://forums.phpfreaks.com/topic/62935-solved-problem-with-code-please-help/#findComment-313829 Share on other sites More sharing options...
marksie1988 Posted August 2, 2007 Author Share Posted August 2, 2007 thanks for your help in looking at this with a bit of fidling about andcode changing i got it to work now Quote Link to comment https://forums.phpfreaks.com/topic/62935-solved-problem-with-code-please-help/#findComment-313920 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.