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;
}