asucrews Posted October 20, 2008 Share Posted October 20, 2008 Not sure what failing here. Code i model this off of: <?php function register($subuser, $subpass, $subemail){ global $database, $form, $mailer; //The database, form and mailer object /* Username error checking */ $field = "user"; //Use field name for username if(!$subuser || strlen($subuser = trim($subuser)) == 0){ $form->setError($field, "* Username not entered"); } else{ /* Spruce up username, check length */ $subuser = stripslashes($subuser); if(strlen($subuser) < 5){ $form->setError($field, "* Username below 5 characters"); } else if(strlen($subuser) > 30){ $form->setError($field, "* Username above 30 characters"); } /* Check if username is not alphanumeric */ else if(!eregi("^([0-9a-z])+$", $subuser)){ $form->setError($field, "* Username not alphanumeric"); } /* Check if username is reserved */ else if(strcasecmp($subuser, GUEST_NAME) == 0){ $form->setError($field, "* Username reserved word"); } /* Check if username is already in use */ else if($database->usernameTaken($subuser)){ $form->setError($field, "* Username already in use"); } /* Check if username is banned */ else if($database->usernameBanned($subuser)){ $form->setError($field, "* Username banned"); } } /* Password error checking */ $field = "pass"; //Use field name for password if(!$subpass){ $form->setError($field, "* Password not entered"); } else{ /* Spruce up password and check length*/ $subpass = stripslashes($subpass); if(strlen($subpass) < 4){ $form->setError($field, "* Password too short"); } /* Check if password is not alphanumeric */ else if(!eregi("^([0-9a-z])+$", ($subpass = trim($subpass)))){ $form->setError($field, "* Password not alphanumeric"); } /** * Note: I trimmed the password only after I checked the length * because if you fill the password field up with spaces * it looks like a lot more characters than 4, so it looks * kind of stupid to report "password too short". */ } /* Email error checking */ $field = "email"; //Use field name for email if(!$subemail || strlen($subemail = trim($subemail)) == 0){ $form->setError($field, "* Email not entered"); } else{ /* Check if valid email address */ $regex = "^[_+a-z0-9-]+(\.[_+a-z0-9-]+)*" ."@[a-z0-9-]+(\.[a-z0-9-]{1,})*" ."\.([a-z]{2,}){1}$"; if(!eregi($regex,$subemail)){ $form->setError($field, "* Email invalid"); } $subemail = stripslashes($subemail); } /* Errors exist, have user correct them */ if($form->num_errors > 0){ return 1; //Errors with form } /* No errors, add the new account to the */ else{ $subal = $subuser; if($database->addNewUser($subuser, md5($subpass), $subemail, $subal)){ if(EMAIL_WELCOME){ $mailer->sendWelcome($subuser,$subemail,$subpass); } return 0; //New user added succesfully }else{ return 2; //Registration attempt failed } } } php?> Code for my Function: <?php function addAnime($subtitle, $substudio, $subyearmade, $sublicenser, $subyearLicensed, $submedia, $subepisodes){ global $database, $form; //The database, form and mailer object /* Anime Title error checking */ $field = "title"; //Use field name for username if(!$subtitle || strlen($subuser = trim($subuser)) == 0){ $form->setError($field, "* Title not entered"); } else{ /* Spruce up username, check length */ $subtitle = stripslashes($subtitle); if(strlen($subtitle) < 5){ $form->setError($field, "* Title below 5 characters"); } else if(strlen($subtitle) > 40){ $form->setError($field, "* Title above 40 characters"); } /* Check if username is reserved */ else if(strcasecmp($subuser, GUEST_NAME) == 0){ $form->setError($field, "* Title is reserved word"); } /* Check if username is already in use */ else if($database->animetitleTaken($subtitle)){ $form->setError($field, "* Anime already Added"); } } /* Episodes error checking */ $field = "episodes"; //Use field name for username if(!$subepisodes || strlen($subuser = trim($subepisodes)) == 0){ $form->setError($field, "* episodes not entered"); } else{ /* Spruce up username, check length */ $subtitle = stripslashes($subepisodes); if(strlen($subepisodes) > 3){ $form->setError($field, "* to Many episodes Enter"); } } /* Errors exist, have user correct them */ if($form->num_errors > 0){ return 1; //Errors with form } /* No errors, add the new account to the */ else{ $substudioid = $database->fetchRow($database->getStudioID(substudio)); $subyearmade = $subyearmade; $sublicenserid = $database->fetchRow($database->getCompanyID($sublicenser)); $subyearlicensed = $subyearlicensed; $submedia = $submedia; if($database->addAnime($subtitle, $substudioid[0], $subyearmade, $sublicenserid, $subyearlicensed, $submedia, $subepisodes)){ return 0; //New user added succesfully }else{ return 2; //Registration attempt failed } } } php?> Link to comment https://forums.phpfreaks.com/topic/129196-fatal-error-call-to-undefined-method-sessionaddanime/ Share on other sites More sharing options...
Andy-H Posted October 20, 2008 Share Posted October 20, 2008 Whats with the closing tag? Link to comment https://forums.phpfreaks.com/topic/129196-fatal-error-call-to-undefined-method-sessionaddanime/#findComment-669837 Share on other sites More sharing options...
trq Posted October 20, 2008 Share Posted October 20, 2008 Where are you calling this function and is it part of a class? Link to comment https://forums.phpfreaks.com/topic/129196-fatal-error-call-to-undefined-method-sessionaddanime/#findComment-669838 Share on other sites More sharing options...
Andy-H Posted October 20, 2008 Share Posted October 20, 2008 Where are you calling this function and is it part of a class? 2nd script 8 lines up. Link to comment https://forums.phpfreaks.com/topic/129196-fatal-error-call-to-undefined-method-sessionaddanime/#findComment-669842 Share on other sites More sharing options...
asucrews Posted October 20, 2008 Author Share Posted October 20, 2008 Where are you calling this function and is it part of a class? sorry yes, it apart of a class...i know i forgot something.. this is start of the class, i took out the working functions... <?php <? /** * Session.php * * The Session class is meant to simplify the task of keeping * track of logged in users and also guests. * * Written by: Jpmaster77 a.k.a. The Grandmaster of C++ (GMC) * Last Updated: August 19, 2004 */ include("database.php"); include("mailer.php"); include("form.php"); class Session { var $username; //Username given on sign-up var $userid; //Random value generated on current login var $userlevel; //The level to which the user pertains var $time; //Time user was last active (page loaded) var $logged_in; //True if user is logged in, false otherwise var $userinfo = array(); //The array holding all user info var $url; //The page url current being viewed var $referrer; //Last recorded site page viewed /** * Note: referrer should really only be considered the actual * page referrer in process.php, any other time it may be * inaccurate. */ /* Class constructor */ function Session(){ $this->time = time(); $this->startSession(); } /** * startSession - Performs all the actions necessary to * initialize this session object. Tries to determine if the * the user has logged in already, and sets the variables * accordingly. Also takes advantage of this page load to * update the active visitors tables. */ function startSession(){ global $database; //The database connection session_start(); //Tell PHP to start the session /* Determine if user is logged in */ $this->logged_in = $this->checkLogin(); /** * Set guest value to users not logged in, and update * active guests table accordingly. */ if(!$this->logged_in){ $this->username = $_SESSION['username'] = GUEST_NAME; $this->userlevel = GUEST_LEVEL; $database->addActiveGuest($_SERVER['REMOTE_ADDR'], $this->time); } /* Update users last active timestamp */ else{ $database->addActiveUser($this->username, $this->time); } /* Remove inactive visitors from database */ $database->removeInactiveUsers(); $database->removeInactiveGuests(); /* Set referrer page */ if(isset($_SESSION['url'])){ $this->referrer = $_SESSION['url']; }else{ $this->referrer = "/"; } /* Set current url */ $this->url = $_SESSION['url'] = $_SERVER['PHP_SELF']; } php?> Link to comment https://forums.phpfreaks.com/topic/129196-fatal-error-call-to-undefined-method-sessionaddanime/#findComment-669845 Share on other sites More sharing options...
Andy-H Posted October 20, 2008 Share Posted October 20, 2008 You are making a call to the function inside the function itself as part of the database object... I think thats the problem. Link to comment https://forums.phpfreaks.com/topic/129196-fatal-error-call-to-undefined-method-sessionaddanime/#findComment-669851 Share on other sites More sharing options...
asucrews Posted October 20, 2008 Author Share Posted October 20, 2008 isn't that what the code i use as my model it doing? Link to comment https://forums.phpfreaks.com/topic/129196-fatal-error-call-to-undefined-method-sessionaddanime/#findComment-669941 Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.