Jump to content

DeanWhitehouse

Members
  • Posts

    2,527
  • Joined

  • Last visited

Everything posted by DeanWhitehouse

  1. Yes it is write An example is <?php $string= strpos("monday it rained", 'rained');//missed out a bit. if($string == 1) { echo "there is one instance of the word rained"; } else { echo "the word doesn't exist in the string"; } ?> I have never seen !== false used before, it looks like only part of a statement you have.
  2. Ok, i didn't read it all just added a little bit to the top, <?php ini_set('display_errors', 1); error_reporting(E_ALL); /** * 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']; } /** * checkLogin - Checks if the user has already previously * logged in, and a session with the user has already been * established. Also checks to see if user has been remembered. * If so, the database is queried to make sure of the user's * authenticity. Returns true if the user has logged in. */ function checkLogin(){ global $database; //The database connection /* Check if user has been remembered */ if(isset($_COOKIE['cookname']) && isset($_COOKIE['cookid'])){ $this->username = $_SESSION['username'] = $_COOKIE['cookname']; $this->userid = $_SESSION['userid'] = $_COOKIE['cookid']; } /* Username and userid have been set and not guest */ if(isset($_SESSION['username']) && isset($_SESSION['userid']) && $_SESSION['username'] != GUEST_NAME){ /* Confirm that username and userid are valid */ if($database->confirmUserID($_SESSION['username'], $_SESSION['userid']) != 0){ /* Variables are incorrect, user not logged in */ unset($_SESSION['username']); unset($_SESSION['userid']); return false; } /* User is logged in, set class variables */ $this->userinfo = $database->getUserInfo($_SESSION['username']); $this->username = $this->userinfo['username']; $this->userid = $this->userinfo['userid']; $this->userlevel = $this->userinfo['userlevel']; return true; } /* User not logged in */ else{ return false; } } /** * login - The user has submitted his username and password * through the login form, this function checks the authenticity * of that information in the database and creates the session. * Effectively logging in the user if all goes well. */ function login($subuser, $subpass, $subremember){ global $database, $form; //The database and form 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{ /* Check if username is not alphanumeric */ if(!eregi("^([0-9a-z])*$", $subuser)){ $form->setError($field, "* Username not alphanumeric"); } } /* Password error checking */ $field = "pass"; //Use field name for password if(!$subpass){ $form->setError($field, "* Password not entered"); } /* Return if form errors exist */ if($form->num_errors > 0){ return false; } /* Checks that username is in database and password is correct */ $subuser = stripslashes($subuser); $result = $database->confirmUserPass($subuser, md5($subpass)); /* Check error codes */ if($result == 1){ $field = "user"; $form->setError($field, "* Username not found"); } else if($result == 2){ $field = "pass"; $form->setError($field, "* Invalid password"); } /* Return if form errors exist */ if($form->num_errors > 0){ return false; } /* Username and password correct, register session variables */ $this->userinfo = $database->getUserInfo($subuser); $this->username = $_SESSION['username'] = $this->userinfo['username']; $this->userid = $_SESSION['userid'] = $this->generateRandID(); $this->userlevel = $this->userinfo['userlevel']; /* Insert userid into database and update active users table */ $database->updateUserField($this->username, "userid", $this->userid); $database->addActiveUser($this->username, $this->time); $database->removeActiveGuest($_SERVER['REMOTE_ADDR']); /** * This is the cool part: the user has requested that we remember that * he's logged in, so we set two cookies. One to hold his username, * and one to hold his random value userid. It expires by the time * specified in constants.php. Now, next time he comes to our site, we will * log him in automatically, but only if he didn't log out before he left. */ if($subremember){ setcookie("cookname", $this->username, time()+COOKIE_EXPIRE, COOKIE_PATH); setcookie("cookid", $this->userid, time()+COOKIE_EXPIRE, COOKIE_PATH); } /* Login completed successfully */ return true; } /** * logout - Gets called when the user wants to be logged out of the * website. It deletes any cookies that were stored on the users * computer as a result of him wanting to be remembered, and also * unsets session variables and demotes his user level to guest. */ function logout(){ global $database; //The database connection /** * Delete cookies - the time must be in the past, * so just negate what you added when creating the * cookie. */ if(isset($_COOKIE['cookname']) && isset($_COOKIE['cookid'])){ setcookie("cookname", "", time()-COOKIE_EXPIRE, COOKIE_PATH); setcookie("cookid", "", time()-COOKIE_EXPIRE, COOKIE_PATH); } /* Unset PHP session variables */ unset($_SESSION['username']); unset($_SESSION['userid']); /* Reflect fact that user has logged out */ $this->logged_in = false; /** * Remove from active users table and add to * active guests tables. */ $database->removeActiveUser($this->username); $database->addActiveGuest($_SERVER['REMOTE_ADDR'], $this->time); /* Set user level to guest */ $this->username = GUEST_NAME; $this->userlevel = GUEST_LEVEL; } /** * register - Gets called when the user has just submitted the * registration form. Determines if there were any errors with * the entry fields, if so, it records the errors and returns * 1. If no errors were found, it registers the new user and * returns 0. Returns 2 if registration failed. */ 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{ if($database->addNewUser($subuser, md5($subpass), $subemail)){ if(EMAIL_WELCOME){ $mailer->sendWelcome($subuser,$subemail,$subpass); } return 0; //New user added succesfully }else{ return 2; //Registration attempt failed } } } /** * editAccount - Attempts to edit the user's account information * including the password, which it first makes sure is correct * if entered, if so and the new password is in the right * format, the change is made. All other fields are changed * automatically. */ function editAccount($subcurpass, $subnewpass, $subemail){ global $database, $form; //The database and form object /* New password entered */ if($subnewpass){ /* Current Password error checking */ $field = "curpass"; //Use field name for current password if(!$subcurpass){ $form->setError($field, "* Current Password not entered"); } else{ /* Check if password too short or is not alphanumeric */ $subcurpass = stripslashes($subcurpass); if(strlen($subcurpass) < 4 || !eregi("^([0-9a-z])+$", ($subcurpass = trim($subcurpass)))){ $form->setError($field, "* Current Password incorrect"); } /* Password entered is incorrect */ if($database->confirmUserPass($this->username,md5($subcurpass)) != 0){ $form->setError($field, "* Current Password incorrect"); } } /* New Password error checking */ $field = "newpass"; //Use field name for new password /* Spruce up password and check length*/ $subpass = stripslashes($subnewpass); if(strlen($subnewpass) < 4){ $form->setError($field, "* New Password too short"); } /* Check if password is not alphanumeric */ else if(!eregi("^([0-9a-z])+$", ($subnewpass = trim($subnewpass)))){ $form->setError($field, "* New Password not alphanumeric"); } } /* Change password attempted */ else if($subcurpass){ /* New Password error reporting */ $field = "newpass"; //Use field name for new password $form->setError($field, "* New Password not entered"); } /* Email error checking */ $field = "email"; //Use field name for email if($subemail && strlen($subemail = trim($subemail)) > 0){ /* 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 false; //Errors with form } /* Update password since there were no errors */ if($subcurpass && $subnewpass){ $database->updateUserField($this->username,"password",md5($subnewpass)); } /* Change Email */ if($subemail){ $database->updateUserField($this->username,"email",$subemail); } /* Success! */ return true; } /** * isAdmin - Returns true if currently logged in user is * an administrator, false otherwise. */ function isAdmin(){ return ($this->userlevel == ADMIN_LEVEL || $this->username == ADMIN_NAME); } /** * generateRandID - Generates a string made up of randomized * letters (lower and upper case) and digits and returns * the md5 hash of it to be used as a userid. */ function generateRandID(){ return md5($this->generateRandStr(16)); } /** * generateRandStr - Generates a string made up of randomized * letters (lower and upper case) and digits, the length * is a specified parameter. */ function generateRandStr($length){ $randstr = ""; for($i=0; $i<$length; $i++){ $randnum = mt_rand(0,61); if($randnum < 10){ $randstr .= chr($randnum+48); }else if($randnum < 36){ $randstr .= chr($randnum+55); }else{ $randstr .= chr($randnum+61); } } return $randstr; } }; /** * Initialize session object - This must be initialized before * the form object because the form uses session variables, * which cannot be accessed unless the session has started. */ $session = new Session; /* Initialize form object */ $form = new Form; ?> And again another case of copy and paste? As it is obvious you didn't write the code above. If you try php coding you should learn to write your own code, or at least understand the code you have copied. That way you can debug better.
  3. From this code <?php header("content-type: image/gif"); $avatars = array( "http://www.avatarist.com/avatars/Games/Sonic-The-Hedgehog/Sonic-animated.gif", "http://www.avatarist.com/avatars/Games/Sonic-The-Hedgehog/Tails-salutes.gif", "http://www.avatarist.com/avatars/Games/Sonic-The-Hedgehog/Sonic-and-Shadow-transform.gif", "http://www.avatarist.com/avatars/Games/Sonic-The-Hedgehog/Knuckles2.gif"); echo $avatars[rand(0,3)]; ?> I think i am missing one or two headers in here?
  4. Thanks premiso, i can never remeber the ini_set one, and ted if the problem continues post session.php
  5. Hmm, doesn't make sense. White pages will normally mean that there is a critical error (or something) and that it can't show the content , like using a die statement at the beginning of the page. I just noticed that the page content is generated from includes, try using requires instead as they will produce errors then.
  6. He proved me right, lol, maybe you should learn php before you start pretending you know it. He printed the host of your page onto your page, not onto the page in the i-frame like you wanted. Then he printed it from the i-frame onto there page in it. If you asked how to do that then i would of shown you, maybe next time be clearer on what you want.
  7. Not competitive or anything but who's did you use?
  8. This is fixed, and the last time you must learn how to debug, and not post every error here. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <title>Geography Trainer Question Tool Panel</title> </head> <body> <table width="950" border="0" cellpadding="0" cellspacing="0"> <tr> <td width="238" height="1"> </td> <td width="335"> </td> <td width="343"> </td> </tr> <tr> <td height="308"> </td> <td valign="top"> <?php $username = "dink87522"; $password = "dinky"; if (isset($_POST['username']) && isset($_POST['password']) && $_POST['username'] == $username && $_POST['password'] == $password) { //hidden ?> <div align="center"><u><strong>Question Tool Panel</strong></u></div> <br /> <strong>Category</strong> <select name="category"> <option>Africa</option> <option>Asia</option> <option>Europe</option> <option>North America</option> <option>Oceania</option> <option>South America</option> </select> <label>User <select name="user"> <option>Eddie</option> </select> <form id="form1" name="form1" method="post" action="process.php"> <label><strong>Question<br /> </strong> <textarea name="question" cols="50"></textarea> </label> <label><strong>Answer</strong><br /> <textarea name="answer" cols="50"></textarea> <br /> <br /> <input type="submit" name="Submit" value="Add question" /> (250 character limit for each text field) <br /> <br /> <div align="center">Copyright 2008 Geography Trainer</div> </form></td> <?php } else { ?> <form method="POST" action=""><div align="center"> <table border="0"> <tr> <td>Username:</td> <td><input type="text" name="username"></td> </tr> <tr> <td>Password:</td> <td><input type="password" name="password"></td> </tr> <tr> <td> </td> <td><input type="submit" name="submit" value="Login"></td> </tr> </table> </div> </form> </table> </body> </html> <?php } ?>
  9. str_replace(mixed $search , mixed $replace , mixed $subject); ?? <?php $dollar = "$2,343.23"; $dollar = str_replace("$","",$dollar); $dollar = str_replace(",","",$dollar); $dollar = str_replace(".","",$dollar); echo $dollar;//should print 234323 ?> I think you can do this as well <?php $dollar = "$2,343.23"; $replace = array("$",".",","); $dollar = str_replace($replace,"",$dollar); echo $dollar;//should print 234323 ?>
  10. if (isset($_POST['username']) && isset($_POST['password']) && $_POST['username'] == $username && $_POST['password'] == $password) Please read the errors and fix them yourself from now on.
  11. Still arrogant, why do you think people haven't replied because it can't be done in PHP. And you are wrong in programming the phrase "anything can be done when you put your mind to it" is irrelevant, because in programming there are limits to what can be done. So stop being arrogant and accept the fact that PHP can not do it. You are wasting your time.
  12. For christ sake, why don't people ever try and debug on there own. Add or die(mysql_error()); to the statements.
  13. That is outdated now $IPaddress=$REMOTE_ADDR; Should be $IPaddress=$_SERVER['REMOTE_ADDR'];
  14. Are you serious, if it is in your code and you don't know what it does don't post it when you get errors. Google it, use the php manual.
  15. Add error_reporting(E_ALL); to the top of the code in the php ,and then fix the errors or post them here.
  16. You are very arrogant after you have been told it can't be done with php , from people who know what they are talking about you still contradict and tell us that it can. To find out what site someone is coming from use $_SERVER['HTTP_REFERRER'];
  17. First error i saw if (isset($_POST['username']) &&($_POST['username'] == $username && $_POST['password'] == $password)){ should be if (isset($_POST['username']) && isset($_POST['password']) && $_POST['username'] == $username && $_POST['password'] == $password)){//thats how i would do it, also there was a syntax error And please use CODE tags, not QUOTE You also don't close the <?php tag here if (isset($_POST['username']) &&($_POST['username'] == $username && $_POST['password'] == $password)){ //hidden <div align="center"><u><strong>Question Tool Panel</strong></u></div> or reopen it here </td> } else{ ?>
  18. You can use margins, e.g. style="margin-left:100px;" will move it 100px to the right, away from the left
  19. Yep, my bad it is <a href="Javascript:history.back();">Go Back</a>
  20. No it doesn't, although the browser may vary on this. I believe that there may be a problem before this that is aligning the table data. Try <?php echo "<td align='right' style='text-align:right;'>".$getthreads3['showtime']."</td>"; ?>
  21. I just told you, you can't, sorry that is written wrong, it should say you have. The code has done what it should of, which is get the page's host. My only suggestion is having a look at some Javascript, as it may be able to do this, but i am not sure it can. But php can't as far as i know.
  22. OK, that is wierd. This one should <?php echo "<td align='right'>".$getthreads3['showtime']."</td>"; ?> although the array may be causing an error. if so <?php echo "<td align='right'>".$getthreads3[showtime]."</td>"; ?>
  23. Fixed, trying to escape it doesn't work in the code tags. The working one is below. <?php echo "<td align="\right"\>".$getthreads3['showtime']."</td>"; ?>
  24. <?php echo "<td align='right'>".$getthreads3['showtime']."</td>"; ?> I believe this is what you are looking for. Edit: The second set were escaped, but this site seems to remove it in code tags.
  25. That's because xyz.com is the host, and not domain.com. The code will get the host of the page, the i-frame is just displaying the page from another host, not hosting it.
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.