Jump to content

Solar

Members
  • Posts

    145
  • Joined

  • Last visited

Posts posted by Solar

  1. $result=mysql_query("SELECT * FROM Student,Course,Student_Course WHERE Student.Student_ID=Student_Course.Student_ID,Course.course_id=Student_Course.course_id AND Student.Student_ID='$login'");

    $row=mysql_fetch_array($result);

     

    Select Star? Replace that star with the table name. Thats a start ;)

  2. Are you reading anything we are putting out in front of you?

     

    Your code...

    if  (trim($_POST['psswrd']) != trim($_POST['repsswrd']) && (strlen(trim($_POST['psswrd']))>=4  && strlen(trim($_POST['repsswrd']))>=4))

    ... reads:

    If the passwords are not equal AND the length of both passwords are greater than 4, throw an error. Also, you don't need to check both passwords for length - it's a waste of resources. If the passwords match, they'll have the same length. If they don't match, you're already throwing an error, so the user will have to re-enter a password anyways.

     

    In plain English, type out what are you trying to do.

     

    Which means the user cannot leave the password field blanks.

  3. That shouldn't make a difference though, the parenthesis are optional.

     

    Because include() is a special language construct' date=' parentheses are not needed around its argument. Take care when comparing return value.[/quote']

     

     

    I didn't think so either.  Nevertheless, must have had an error then.  Because I just copied and pasted that into my page and it worked like a champ.

     

    Haha, I didn't think it would matter either but I thought I'd post it. You are welcome :)

     

    Maybe you had; The single quotation mark instead of the double quotation mark.

     

    <?php

    include ('/home/extremf3/dbconnect.inc');

    ?>

     

    Or..

     

    <?php

    include "/home/extremf3/dbconnect.inc";

    ?>

  4. <?php
      include("include/session.php");
      
      function displayUsers(){
       global $database;
       $q = "SELECT username,userlevel,email,timestamp "
           ."FROM ".TBL_USERS." ORDER BY userlevel DESC,username";
       $result = $database->query($q);
    
    for ($x = 0; $x < 106; $x++) {   
       $number = rand(100,999);   
       $sql = "INSERT INTO numbers (username, id) VALUES ($username, '')";    
    }   
      
    // number of rows to show per page   
    $rowsperpage = 10;   
    // find out total pages   
    $totalpages = ceil($numrows / $rowsperpage);   
      
    // get the current page or set a default   
    if (isset($_GET['currentpage']) && is_numeric($_GET['currentpage'])) {   
       // cast var as int   
       $currentpage = (int) $_GET['currentpage'];   
    } else {   
       // default page num   
       $currentpage = 1;   
    } // end if   
      
    // if current page is greater than total pages...   
    if ($currentpage > $totalpages) {   
       // set current page to last page   
       $currentpage = $totalpages;   
    } // end if   
    // if current page is less than first page...   
    if ($currentpage < 1) {   
       // set current page to first page   
       $currentpage = 1;   
    } // end if   
      
    // the offset of the list, based on current page    
    $offset = ($currentpage - 1) * $rowsperpage;   
      
    // get the info from the db    
    $sql = "SELECT id, username FROM users LIMIT $offset, $rowsperpage";    
      
    // while there are rows to be fetched...   
    while ($list = mysql_fetch_assoc($result)) {   
       // echo data   
       echo $list[''] . "<a href=\"userinfo.php?user=" . $list['username'] . "\">" . $list['username'] . "<br />";   
    } // end while   
      
    /******  build the pagination links ******/  
    // range of num links to show   
    $range = 3;   
      
    // if not on page 1, don't show back links   
    if ($currentpage > 1) {   
       // show << link to go back to page 1   
       echo " <a href='{$_SERVER['PHP_SELF']}?currentpage=1'><<</a> ";   
       // get previous page num   
       $prevpage = $currentpage - 1;   
       // show < link to go back to 1 page   
       echo " <a href='{$_SERVER['PHP_SELF']}?currentpage=$prevpage'><</a> ";   
    } // end if    
      
    // loop to show links to range of pages around current page   
    for ($x = ($currentpage - $range); $x < (($currentpage + $range) + 1); $x++) {   
       // if it's a valid page number...   
       if (($x > 0) && ($x <= $totalpages)) {   
          // if we're on current page...   
          if ($x == $currentpage) {   
             // 'highlight' it but don't make a link   
             echo " [<b>$x</b>] ";   
          // if not current page...   
          } else {   
             // make it a link   
         echo " <a href='{$_SERVER['PHP_SELF']}?currentpage=$x'>$x</a> ";   
          } // end else   
       } // end if    
    } // end for   
                
    // if not on last page, show forward and last page links       
    if ($currentpage != $totalpages) {   
       // get next page   
       $nextpage = $currentpage + 1;   
        // echo forward link for next page    
       echo " <a href='{$_SERVER['PHP_SELF']}?currentpage=$nextpage'>></a> ";   
       // echo forward link for lastpage   
       echo " <a href='{$_SERVER['PHP_SELF']}?currentpage=$totalpages'>>></a> ";   
    } // end if   
    /****** end build pagination links ******/    
    
    }?>
    
    <?
    displayUsers();
    ?>

     

    Above it my code, works perfectly except for the part where it doesn't cut them down to pages. Any suggestions?

  5. <?php
      include("include/session.php");
      
      function displayUsers(){
       global $database;
       $q = "SELECT username,userlevel,email,timestamp "
           ."FROM ".TBL_USERS." ORDER BY userlevel DESC,username";
       $result = $database->query($q);
    
    for ($x = 0; $x < 106; $x++) {   
       $number = rand(100,999);   
       $sql = "INSERT INTO numbers (username, id) VALUES ($username, '')";    
    }   
      
    // number of rows to show per page   
    $rowsperpage = 10;   
    // find out total pages   
    $totalpages = ceil($numrows / $rowsperpage);   
      
    // get the current page or set a default   
    if (isset($_GET['currentpage']) && is_numeric($_GET['currentpage'])) {   
       // cast var as int   
       $currentpage = (int) $_GET['currentpage'];   
    } else {   
       // default page num   
       $currentpage = 1;   
    } // end if   
      
    // if current page is greater than total pages...   
    if ($currentpage > $totalpages) {   
       // set current page to last page   
       $currentpage = $totalpages;   
    } // end if   
    // if current page is less than first page...   
    if ($currentpage < 1) {   
       // set current page to first page   
       $currentpage = 1;   
    } // end if   
      
    // the offset of the list, based on current page    
    $offset = ($currentpage - 1) * $rowsperpage;   
      
    // get the info from the db    
    $sql = "SELECT id, username FROM users LIMIT $offset, $rowsperpage";    
      
    // while there are rows to be fetched...   
    while ($list = mysql_fetch_assoc($result)) {   
       // echo data   
       echo $list[''] . "<a href=\"userinfo.php?user=" . $list['username'] . "\">" . $list['username'] . "<br />";   
    } // end while   
      
    /******  build the pagination links ******/  
    // range of num links to show   
    $range = 3;   
      
    // if not on page 1, don't show back links   
    if ($currentpage > 1) {   
       // show << link to go back to page 1   
       echo " <a href='{$_SERVER['PHP_SELF']}?currentpage=1'><<</a> ";   
       // get previous page num   
       $prevpage = $currentpage - 1;   
       // show < link to go back to 1 page   
       echo " <a href='{$_SERVER['PHP_SELF']}?currentpage=$prevpage'><</a> ";   
    } // end if    
      
    // loop to show links to range of pages around current page   
    for ($x = ($currentpage - $range); $x < (($currentpage + $range) + 1); $x++) {   
       // if it's a valid page number...   
       if (($x > 0) && ($x <= $totalpages)) {   
          // if we're on current page...   
          if ($x == $currentpage) {   
             // 'highlight' it but don't make a link   
             echo " [<b>$x</b>] ";   
          // if not current page...   
          } else {   
             // make it a link   
         echo " <a href='{$_SERVER['PHP_SELF']}?currentpage=$x'>$x</a> ";   
          } // end else   
       } // end if    
    } // end for   
                
    // if not on last page, show forward and last page links       
    if ($currentpage != $totalpages) {   
       // get next page   
       $nextpage = $currentpage + 1;   
        // echo forward link for next page    
       echo " <a href='{$_SERVER['PHP_SELF']}?currentpage=$nextpage'>></a> ";   
       // echo forward link for lastpage   
       echo " <a href='{$_SERVER['PHP_SELF']}?currentpage=$totalpages'>>></a> ";   
    } // end if   
    /****** end build pagination links ******/    
    
    }?>
    
    <?
    displayUsers();
    ?>

     

    Doesn't seem to be cutting the members and sorting them into seperate pages.. Example; http://72.38.175.121/members%20-%20copy.php?currentpage=0

  6. Is there a way to sort this into pages.. Like say.. show 20 members per page without having to make seperate pages? Like an array?

     

    ><?php
      include("include/session.php");
      
      function displayUsers(){
       global $database;
       $q = "SELECT username,userlevel,email,timestamp "
           ."FROM ".TBL_USERS." ORDER BY userlevel DESC,username";
       $result = $database->query($q);
       /* Error occurred, return given name by default */
       $num_rows = mysql_numrows($result);
       if(!$result || ($num_rows < 0)){
          echo "Error displaying info";
          return;
       }
       if($num_rows == 0){
          echo "Database table empty";
          return;
       }
       /* Display table contents */
       echo "<table align=\"left\" border=\"1\" cellspacing=\"0\" cellpadding=\"3\">\n";
       echo "<tr><td><b>Username</b></td><td><b>Email</b></td></tr>\n";
       for($i=0; $i<$num_rows; $i++){
          $uname  = mysql_result($result,$i,"username");
          $email  = mysql_result($result,$i,"email");
    
          echo "<tr><td><a href=\"userinfo.php?user=$uname\">$uname</td><td>$email</td></tr>\n";
       }
       echo "</table><br>\n";
    }?>
    
    <?
    displayUsers();
    ?>
    

  7. What do you get if you use:

     

    <?php
    echo "<img src=\"http://72.38.175.121/photo/".$req_user_info['username']." width=\"150\" height=\"150\" >";
    ?>
    

     

    Same error posted above. :P I added;

    <?php
    echo "<img src=\"http://72.38.175.121/photo/".$req_user_info['username']."\ width=\"150\" height=\"150\" >";
    ?>
    

     

    Gives me;

    "http://72.38.175.121/photo/Steven\%20width="

     

    Some reason its thinking that the width and height is part of the URL and stops at the first quotation mark. :P I'll play with it untilll we figure it out :)

  8. Thank you for your help so far and I see where you are getting with this. But what you just wrote for the second time would be the exactly the same as your first code. I can't substitute $username = $username because that wont work, I can't substitute $username = ".$req_user_info['username']."  because I recieve the same error as the first time.

     

    I think this is a tricky one :)

  9. Oh my, I feel so newbish! But this is not working out. This is for the user's picture on their profile page and I want a specific height and width, I will use 150x150 to deminstrate.

     

    This code does not work..

     

    <?php
    echo "<img src=http://72.38.175.121/photo/".$req_user_info['username']." width="150" height="150">";
    ?>

     

    I have to echo it to make; ".$req_user_info['username']." to work. Then the width and height becomes the problem.

     

    Error:

    Parse error: syntax error, unexpected T_LNUMBER, expecting ',' or ';' in C:\xampp\htdocs\userinfo.php on line 81

  10. I've been surfing the web and still can't find out how to do rowid, can anybody post a link of a tutorial or explain how they work and how you can do it.

     

    I've created a different database seperate from my (Database: users) usernames, passwords, and userid.. etc. Then I have (Database: profile) userid, about, music, films, etc...

  11. Hello everyone, people have been saying the cannot and nor can I register to my site. There are 19 members and lastnight I made more fields to the mysql database! Theres username,  password,  userid,  userlevel,  email,  timestamp,  about,  music,  films,  television,  books,  heroes. I've added the about ->heroes fields and they work find when members update their profile, Its just now people can't register!!

     

    Register.php;

    <?
    /**
    * Register.php
    * 
    * Displays the registration form if the user needs to sign-up,
    * or lets the user know, if he's already logged in, that he
    * can't register another name.
    *
    * Written by: Jpmaster77 a.k.a. The Grandmaster of C++ (GMC)
    * Last Updated: August 19, 2004
    */
    include("include/session.php");
    ?>
    
    <html>
    <title>Registration Page</title>
    <body>
    
    <?
    /**
    * The user is already logged in, not allowed to register.
    */
    if($session->logged_in){
       echo "<h1>Registered</h1>";
       echo "<p>We're sorry <b>$session->username</b>, but you've already registered. "
           ."<a href=\"main.php\">Main</a>.</p>";
    }
    /**
    * The user has submitted the registration form and the
    * results have been processed.
    */
    else if(isset($_SESSION['regsuccess'])){
       /* Registration was successful */
       if($_SESSION['regsuccess']){
          echo "<h1>Registered!</h1>";
          echo "<p>Thank you <b>".$_SESSION['reguname']."</b>, your information has been added to the database, "
              ."you may now <a href=\"main.php\">log in</a>.</p>";
       }
       /* Registration failed */
       else{
          echo "<h1>Registration Failed</h1>";
          echo "<p>We're sorry, but an error has occurred and your registration for the username <b>".$_SESSION['reguname']."</b>, "
              ."could not be completed.<br>Please try again at a later time.</p>";
       }
       unset($_SESSION['regsuccess']);
       unset($_SESSION['reguname']);
    }
    /**
    * The user has not filled out the registration form yet.
    * Below is the page with the sign-up form, the names
    * of the input fields are important and should not
    * be changed.
    */
    else{
    ?>
    
    <h1>Register</h1>
    <?
    if($form->num_errors > 0){
       echo "<td><font size=\"2\" color=\"#ff0000\">".$form->num_errors." error(s) found</font></td>";
    }
    ?>
    <form action="process.php" method="POST">
    <table align="left" border="0" cellspacing="0" cellpadding="3">
    <tr><td>Username:</td><td><input type="text" name="user" maxlength="30" value="<? echo $form->value("user"); ?>"></td><td><? echo $form->error("user"); ?></td></tr>
    <tr><td>Password:</td><td><input type="password" name="pass" maxlength="30" value="<? echo $form->value("pass"); ?>"></td><td><? echo $form->error("pass"); ?></td></tr>
    <tr><td>Email:</td><td><input type="text" name="email" maxlength="50" value="<? echo $form->value("email"); ?>"></td><td><? echo $form->error("email"); ?></td></tr>
    <tr><td colspan="2" align="right">
    <input type="hidden" name="subjoin" value="1">
    <input type="submit" value="Join!"></td></tr>
    <tr><td colspan="2" align="left"><a href="main.php">Back to Main</a></td></tr>
    </table>
    </form>
    
    <?
    }
    ?>
    
    </body>
    </html>
    

     

     

    session.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'];
       }
    
       /**
        * 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, $subabout, $submusic, $subfilms, $subtelevision, $subbooks, $subheroes)){
                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, $subabout, $submusic, $subfilms, $subtelevision, $subbooks, $subheroes){
          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));
          }
          
          if($subemail){
             $database->updateUserField($this->username,"email",$subemail);
          }
      
          if($subabout){
             $database->updateUserField($this->username,"about",$subabout);
          }	  
          if($submusic){
             $database->updateUserField($this->username,"music",$submusic);
          }	  
          if($subfilms){
             $database->updateUserField($this->username,"films",$subfilms);
          }	  
          if($subtelevision){
             $database->updateUserField($this->username,"television",$subtelevision);
          }	  
          if($subbooks){
             $database->updateUserField($this->username,"books",$subbooks);
          }	  
          if($subheroes){
             $database->updateUserField($this->username,"heroes",$subheroes);
          }
          /* 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;
    
    ?>

     

    database.php

    <?php
    /**
    * Database.php
    * 
    * The Database class is meant to simplify the task of accessing
    * information from the website's database.
    *
    * Written by: Jpmaster77 a.k.a. The Grandmaster of C++ (GMC)
    * Last Updated: August 17, 2004
    */
    include("constants.php");
          
    class MySQLDB
    {
       var $connection;         //The MySQL database connection
       var $num_active_users;   //Number of active users viewing site
       var $num_active_guests;  //Number of active guests viewing site
       var $num_members;        //Number of signed-up users
       /* Note: call getNumMembers() to access $num_members! */
    
       /* Class constructor */
       function MySQLDB(){
          /* Make connection to database */
          $this->connection = mysql_connect(DB_SERVER, DB_USER, DB_PASS) or die(mysql_error());
          mysql_select_db(DB_NAME, $this->connection) or die(mysql_error());
          
          /**
           * Only query database to find out number of members
           * when getNumMembers() is called for the first time,
           * until then, default value set.
           */
          $this->num_members = -1;
          
          if(TRACK_VISITORS){
             /* Calculate number of users at site */
             $this->calcNumActiveUsers();
          
             /* Calculate number of guests at site */
             $this->calcNumActiveGuests();
          }
       }
    
       /**
        * confirmUserPass - Checks whether or not the given
        * username is in the database, if so it checks if the
        * given password is the same password in the database
        * for that user. If the user doesn't exist or if the
        * passwords don't match up, it returns an error code
        * (1 or 2). On success it returns 0.
        */
       function confirmUserPass($username, $password){
          /* Add slashes if necessary (for query) */
          if(!get_magic_quotes_gpc()) {
          $username = addslashes($username);
          }
    
          /* Verify that user is in database */
          $q = "SELECT password FROM ".TBL_USERS." WHERE username = '$username'";
          $result = mysql_query($q, $this->connection);
          if(!$result || (mysql_numrows($result) < 1)){
             return 1; //Indicates username failure
          }
    
          /* Retrieve password from result, strip slashes */
          $dbarray = mysql_fetch_array($result);
          $dbarray['password'] = stripslashes($dbarray['password']);
          $password = stripslashes($password);
    
          /* Validate that password is correct */
          if($password == $dbarray['password']){
             return 0; //Success! Username and password confirmed
          }
          else{
             return 2; //Indicates password failure
          }
       }
       
       /**
        * confirmUserID - Checks whether or not the given
        * username is in the database, if so it checks if the
        * given userid is the same userid in the database
        * for that user. If the user doesn't exist or if the
        * userids don't match up, it returns an error code
        * (1 or 2). On success it returns 0.
        */
       function confirmUserID($username, $userid){
          /* Add slashes if necessary (for query) */
          if(!get_magic_quotes_gpc()) {
          $username = addslashes($username);
          }
    
          /* Verify that user is in database */
          $q = "SELECT userid FROM ".TBL_USERS." WHERE username = '$username'";
          $result = mysql_query($q, $this->connection);
          if(!$result || (mysql_numrows($result) < 1)){
             return 1; //Indicates username failure
          }
    
          /* Retrieve userid from result, strip slashes */
          $dbarray = mysql_fetch_array($result);
          $dbarray['userid'] = stripslashes($dbarray['userid']);
          $userid = stripslashes($userid);
    
          /* Validate that userid is correct */
          if($userid == $dbarray['userid']){
             return 0; //Success! Username and userid confirmed
          }
          else{
             return 2; //Indicates userid invalid
          }
       }
       
       /**
        * usernameTaken - Returns true if the username has
        * been taken by another user, false otherwise.
        */
       function usernameTaken($username){
          if(!get_magic_quotes_gpc()){
             $username = addslashes($username);
          }
          $q = "SELECT username FROM ".TBL_USERS." WHERE username = '$username'";
          $result = mysql_query($q, $this->connection);
          return (mysql_numrows($result) > 0);
       }
       
       /**
        * usernameBanned - Returns true if the username has
        * been banned by the administrator.
        */
       function usernameBanned($username){
          if(!get_magic_quotes_gpc()){
             $username = addslashes($username);
          }
          $q = "SELECT username FROM ".TBL_BANNED_USERS." WHERE username = '$username'";
          $result = mysql_query($q, $this->connection);
          return (mysql_numrows($result) > 0);
       }
       
       /**
        * addNewUser - Inserts the given (username, password, email)
        * info into the database. Appropriate user level is set.
        * Returns true on success, false otherwise.
        */
       function addNewUser($username, $password, $email){
          $time = time();
          /* If admin sign up, give admin user level */
          if(strcasecmp($username, ADMIN_NAME) == 0){
             $ulevel = ADMIN_LEVEL;
          }else{
             $ulevel = USER_LEVEL;
          }
          $q = "INSERT INTO ".TBL_USERS." VALUES ('$username', '$password', '0', $ulevel, '$email', $time)";
          return mysql_query($q, $this->connection);
       }
       
       /**
        * updateUserField - Updates a field, specified by the field
        * parameter, in the user's row of the database.
        */
       function updateUserField($username, $field, $value){
          $q = "UPDATE ".TBL_USERS." SET ".$field." = '$value' WHERE username = '$username'";
          return mysql_query($q, $this->connection);
       }
       
       /**
        * getUserInfo - Returns the result array from a mysql
        * query asking for all information stored regarding
        * the given username. If query fails, NULL is returned.
        */
       function getUserInfo($username){
          $q = "SELECT * FROM ".TBL_USERS." WHERE username = '$username'";
          $result = mysql_query($q, $this->connection);
          /* Error occurred, return given name by default */
          if(!$result || (mysql_numrows($result) < 1)){
             return NULL;
          }
          /* Return result array */
          $dbarray = mysql_fetch_array($result);
          return $dbarray;
       }
       
       /**
        * getNumMembers - Returns the number of signed-up users
        * of the website, banned members not included. The first
        * time the function is called on page load, the database
        * is queried, on subsequent calls, the stored result
        * is returned. This is to improve efficiency, effectively
        * not querying the database when no call is made.
        */
       function getNumMembers(){
          if($this->num_members < 0){
             $q = "SELECT * FROM ".TBL_USERS;
             $result = mysql_query($q, $this->connection);
             $this->num_members = mysql_numrows($result);
          }
          return $this->num_members;
       }
       
       /**
        * calcNumActiveUsers - Finds out how many active users
        * are viewing site and sets class variable accordingly.
        */
       function calcNumActiveUsers(){
          /* Calculate number of users at site */
          $q = "SELECT * FROM ".TBL_ACTIVE_USERS;
          $result = mysql_query($q, $this->connection);
          $this->num_active_users = mysql_numrows($result);
       }
       
       /**
        * calcNumActiveGuests - Finds out how many active guests
        * are viewing site and sets class variable accordingly.
        */
       function calcNumActiveGuests(){
          /* Calculate number of guests at site */
          $q = "SELECT * FROM ".TBL_ACTIVE_GUESTS;
          $result = mysql_query($q, $this->connection);
          $this->num_active_guests = mysql_numrows($result);
       }
       
       /**
        * addActiveUser - Updates username's last active timestamp
        * in the database, and also adds him to the table of
        * active users, or updates timestamp if already there.
        */
       function addActiveUser($username, $time){
          $q = "UPDATE ".TBL_USERS." SET timestamp = '$time' WHERE username = '$username'";
          mysql_query($q, $this->connection);
          
          if(!TRACK_VISITORS) return;
          $q = "REPLACE INTO ".TBL_ACTIVE_USERS." VALUES ('$username', '$time')";
          mysql_query($q, $this->connection);
          $this->calcNumActiveUsers();
       }
       
       /* addActiveGuest - Adds guest to active guests table */
       function addActiveGuest($ip, $time){
          if(!TRACK_VISITORS) return;
          $q = "REPLACE INTO ".TBL_ACTIVE_GUESTS." VALUES ('$ip', '$time')";
          mysql_query($q, $this->connection);
          $this->calcNumActiveGuests();
       }
       
       /* These functions are self explanatory, no need for comments */
       
       /* removeActiveUser */
       function removeActiveUser($username){
          if(!TRACK_VISITORS) return;
          $q = "DELETE FROM ".TBL_ACTIVE_USERS." WHERE username = '$username'";
          mysql_query($q, $this->connection);
          $this->calcNumActiveUsers();
       }
       
       /* removeActiveGuest */
       function removeActiveGuest($ip){
          if(!TRACK_VISITORS) return;
          $q = "DELETE FROM ".TBL_ACTIVE_GUESTS." WHERE ip = '$ip'";
          mysql_query($q, $this->connection);
          $this->calcNumActiveGuests();
       }
       
       /* removeInactiveUsers */
       function removeInactiveUsers(){
          if(!TRACK_VISITORS) return;
          $timeout = time()-USER_TIMEOUT*60;
          $q = "DELETE FROM ".TBL_ACTIVE_USERS." WHERE timestamp < $timeout";
          mysql_query($q, $this->connection);
          $this->calcNumActiveUsers();
       }
    
       /* removeInactiveGuests */
       function removeInactiveGuests(){
          if(!TRACK_VISITORS) return;
          $timeout = time()-GUEST_TIMEOUT*60;
          $q = "DELETE FROM ".TBL_ACTIVE_GUESTS." WHERE timestamp < $timeout";
          mysql_query($q, $this->connection);
          $this->calcNumActiveGuests();
       }
       
       /**
        * query - Performs the given query on the database and
        * returns the result, which may be false, true or a
        * resource identifier.
        */
       function query($query){
          return mysql_query($query, $this->connection);
       }
    };
    
    /* Create database connection */
    $database = new MySQLDB;
    
    ?>
    

     

    process.php

    <?
    /**
    * Process.php
    * 
    * The Process class is meant to simplify the task of processing
    * user submitted forms, redirecting the user to the correct
    * pages if errors are found, or if form is successful, either
    * way. Also handles the logout procedure.
    *
    * Written by: Jpmaster77 a.k.a. The Grandmaster of C++ (GMC)
    * Last Updated: August 19, 2004
    */
    include("include/session.php");
    
    class Process
    {
       /* Class constructor */
       function Process(){
          global $session;
          /* User submitted login form */
          if(isset($_POST['sublogin'])){
             $this->procLogin();
          }
          /* User submitted registration form */
          else if(isset($_POST['subjoin'])){
             $this->procRegister();
          }
          /* User submitted forgot password form */
          else if(isset($_POST['subforgot'])){
             $this->procForgotPass();
          }
          /* User submitted edit account form */
          else if(isset($_POST['subedit'])){
             $this->procEditAccount();
          }      
      /* User submitted edit account form */
          else if(isset($_POST['subabout'])){
             $this->procAbout();
    	       }      
      /* User submitted edit account form */
          else if(isset($_POST['submusic'])){
             $this->procMusic();
    	       }      
      /* User submitted edit account form */
          else if(isset($_POST['subfilms'])){
             $this->procFilms();
    	       }      
      /* User submitted edit account form */
          else if(isset($_POST['subtelevision'])){
             $this->procTelevision();
    	       }      
      /* User submitted edit account form */
          else if(isset($_POST['subbooks'])){
             $this->procBooks();
    	       }      
      /* User submitted edit account form */
          else if(isset($_POST['subheroes'])){
             $this->procHeroes();
    
          }
          /**
           * The only other reason user should be directed here
           * is if he wants to logout, which means user is
           * logged in currently.
           */
          else if($session->logged_in){
             $this->procLogout();
          }
          /**
           * Should not get here, which means user is viewing this page
           * by mistake and therefore is redirected.
           */
           else{
              header("Location: main.php");
           }
       }
    
       /**
        * procLogin - Processes the user submitted login form, if errors
        * are found, the user is redirected to correct the information,
        * if not, the user is effectively logged in to the system.
        */
       function procLogin(){
          global $session, $form;
          /* Login attempt */
          $retval = $session->login($_POST['user'], $_POST['pass'], isset($_POST['remember']));
          
          /* Login successful */
          if($retval){
             header("Location: ".$session->referrer);
          }
          /* Login failed */
          else{
             $_SESSION['value_array'] = $_POST;
             $_SESSION['error_array'] = $form->getErrorArray();
             header("Location: ".$session->referrer);
          }
       }
       
       /**
        * procLogout - Simply attempts to log the user out of the system
        * given that there is no logout form to process.
        */
       function procLogout(){
          global $session;
          $retval = $session->logout();
          header("Location: index.php");
       }
       
       /**
        * procRegister - Processes the user submitted registration form,
        * if errors are found, the user is redirected to correct the
        * information, if not, the user is effectively registered with
        * the system and an email is (optionally) sent to the newly
        * created user.
        */
       function procRegister(){
          global $session, $form;
          /* Convert username to all lowercase (by option) */
          if(ALL_LOWERCASE){
             $_POST['user'] = strtolower($_POST['user']);
          }
          /* Registration attempt */
          $retval = $session->register($_POST['user'], $_POST['pass'], $_POST['email'], $_POST['about'], $_POST['music'], $_POST['films'], $_POST['television'], $_POST['books'], $_POST['heroes']);
          
          /* Registration Successful */
          if($retval == 0){
             $_SESSION['reguname'] = $_POST['user'];
             $_SESSION['regsuccess'] = true;
             header("Location: ".$session->referrer);
          }
          /* Error found with form */
          else if($retval == 1){
             $_SESSION['value_array'] = $_POST;
             $_SESSION['error_array'] = $form->getErrorArray();
             header("Location: ".$session->referrer);
          }
          /* Registration attempt failed */
          else if($retval == 2){
             $_SESSION['reguname'] = $_POST['user'];
             $_SESSION['regsuccess'] = false;
             header("Location: ".$session->referrer);
          }
       }
       
       /**
        * procForgotPass - Validates the given username then if
        * everything is fine, a new password is generated and
        * emailed to the address the user gave on sign up.
        */
       function procForgotPass(){
          global $database, $session, $mailer, $form;
          /* Username error checking */
          $subuser = $_POST['user'];
          $field = "user";  //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) ||
                (!$database->usernameTaken($subuser))){
                $form->setError($field, "* Username does not exist<br>");
             }
          }
          
          /* Errors exist, have user correct them */
          if($form->num_errors > 0){
             $_SESSION['value_array'] = $_POST;
             $_SESSION['error_array'] = $form->getErrorArray();
          }
          /* Generate new password and email it to user */
          else{
             /* Generate new password */
             $newpass = $session->generateRandStr(;
             
             /* Get email of user */
             $usrinf = $database->getUserInfo($subuser);
             $email  = $usrinf['email'];
    														  
             
             /* Attempt to send the email with new password */
             if($mailer->sendNewPass($subuser,$email,$newpass)){
                /* Email sent, update database */
                $database->updateUserField($subuser, "password", md5($newpass));
                $_SESSION['forgotpass'] = true;
             }
             /* Email failure, do not change password */
             else{
                $_SESSION['forgotpass'] = false;
             }
          }
          
          header("Location: ".$session->referrer);
       }
       
       /**
        * procEditAccount - Attempts to edit the user's account
        * information, including the password, which must be verified
        * before a change is made.
        */
       function procEditAccount(){
          global $session, $form;
          /* Account edit attempt */
          $retval = $session->editAccount($_POST['curpass'], $_POST['newpass'], $_POST['email'], $_POST['about'], $_POST['music'], $_POST['films'], $_POST['television'], $_POST['books'], $_POST['heroes']);
    
          /* Account edit successful */
          if($retval){
             $_SESSION['useredit'] = true;
             header("Location: ".$session->referrer);
          }
          /* Error found with form */
          else{
             $_SESSION['value_array'] = $_POST;
             $_SESSION['error_array'] = $form->getErrorArray();
             header("Location: ".$session->referrer);
          }
       }
    };
    
    /* Initialize process */
    $process = new Process;
    
    ?>
    

     

    Please help! Theres something not right here.

  12. It works! But theres a missing . in there. Random picture uploaded as; Solarpng

    It missed its . extension. Imma look before you reply as well :D

     

    Nevermind dawsba, I've figured it out. Thanks a lot!!

  13. How can I make it so when someone uploads an image, that it will rename the file to their name. Eg. URL/photo/Solar.gif

     

    I can't figure it out :(

     

    <?php 
    $username = $_SESSION['username'];
    $target = "./photo/";
    $target = $target . basename( $_FILES['uploaded']['name']) ; 
    $ok=1; 
    if(move_uploaded_file($_FILES['uploaded']['tmp_name'], $target)) 
    {
    echo "The file ". basename( $_FILES['uploadedfile']['name']). " has been uploaded";
    } 
    else {
    echo "Sorry, there was a problem uploading your file.";
    }
    ?>

×
×
  • 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.