Code Samples

PHP Sample

This is a user registration and login class that I created to tie into an application I’m building for PowerMoves.com.

class User {

	// set up public global variables first
	 public $username = null;
	 public $password = null;
	 public $salt = "Zo4rU5Z1YyKJAASY0PT6EUg7BBYdlEhPaNLuxAwU8lqu1ElzHv0Ri7EM6irpx5w";

	 // use a constructor to initialize
	 public function __construct( $data = array() ) {

	  	if( isset( $data['username'] ) ) $this->username = strip_tags( $data['username'] ) ;
	  	if( isset( $data['password'] ) ) $this->password = strip_tags( $data['password'] ) ;

	  	}

	  public function storeFormValues( $params ) {
			  //store the parameters
			  $this->__construct( $params );
			  }

	 public function userLogin() {
		   //success variable will be used to return if the login was successful or not.
		   $success = false;
			  try{
				 //create our pdo object
				 $con = new PDO( DB_DSN, DB_USERNAME, DB_PASSWORD );
				 //set how pdo will handle errors
				 $con->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION );
				 //this would be our query.
				 $sql = "SELECT * FROM users WHERE username = :username AND password = :password LIMIT 1";

				  //prepare the statements
				 $stmt = $con->prepare( $sql );
				 //give value to named parameter :username
				 $stmt->bindValue( "username", $this->username, PDO::PARAM_STR );
				 //give value to named parameter :password
				 $stmt->bindValue( "password", hash("sha256", $this->password . $this->salt), PDO::PARAM_STR );
				 $stmt->execute();

				 $valid = $stmt->fetch(PDO::FETCH_OBJ);

				if( $valid ) {
					 $success = true;
				     $_SESSION['login'] = true;
				     $_SESSION['uid'] = $valid->userID;
				     $_SESSION['username'] = $valid->username;

				}

				 $con = null;
				 return $success;

			 }catch (PDOException $e) {
				  echo $e->getMessage();
				  return $success;
			 }
		 }

	public function register() {
		 $correct = false;
		 try {
				  $con = new PDO( DB_DSN, DB_USERNAME, DB_PASSWORD );
				  $con->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION );
				  $sql = "INSERT INTO users(username, password) VALUES(:username, :password)";

				  $stmt = $con->prepare( $sql );
				  $stmt->bindValue( "username", $this->username, PDO::PARAM_STR );
				  $stmt->bindValue( "password", hash("sha256", $this->password . $this->salt), PDO::PARAM_STR );
				  $stmt->execute();
				  return "Registration Successful";
		   }catch( PDOException $e ) {
					 return $e->getMessage();
		   }
	}
	/*** starting the session ***/

	 public function get_session(){
	 	return $_SESSION['login'];
	 }

	public function user_logout() {
	 	$_SESSION['login'] = false;
	 	session_destroy();
	 }

}

?>

jQuery/Javascript example

Here’s an example of some very simple code that loads the user-selected products from a mySQL database. From here, the user can decide to add the product to their wish list which essentially works like a shopping cart.

// JavaScript Document

    jQuery(document).ready(function() { //Finish loading the entire page before processing any javascript

		var url = location.pathname;

		if (url=="/products/") {

			var hol = getUrlVars()["category"];

            var formContent ="action=getlink&link="+hol; 

            $("#ajaxBox").load('/wp-content/plugins/hammer-cart/search.php',formContent);

		}

        jQuery("#mylist a").live("click", function(event) { 

			////  get url path and if not products or cart go to products page 
			var url = location.pathname;
			//alert(url); //test to make sure variable is loading 

			  if (url=="/products/") {
				//alert('products page');

			  }else {
				  	var hol = "/products/?category=";
					var hol= hol+$(this).attr('category'); 

				  window.location = hol;

			  }

			event.preventDefault(); /* keeps page from scrolling to the top */

            var hol=$(this).attr('category'); 
            var formContent ="action=getlink&link="+hol; 

            $("#ajaxBox").load('/wp-content/plugins/hammer-cart/search.php',formContent);

        }); 

		jQuery("#addCart a").live("click", function(event) { 

			event.preventDefault(); /* keeps page from scrolling to the top */

			var prodid=$(this).attr('id'); 
			var cartContent ="action=add&id="+prodid; 
			jQuery("#secondary-cart").load('/wp-content/plugins/hammer-cart/search.php',cartContent); 

		});

    }); 

// Read a page's GET URL variables and return them as an associative array.
function getUrlVars()
{
    var vars = [], hash;
    var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&');
    for(var i = 0; i < hashes.length; i++)
    {
        hash = hashes[i].split('=');
        vars.push(hash[0]);
        vars[hash[0]] = hash[1];
    }
    return vars;
}