Now, we're also going to create a file called "common.php." This file is very important as it contains functions used by the script. This script is being built so that the common file is the brains of the whole system.
<? session_start(); include("config.php"); $dbh=mysql_connect ($dbhost, $dbuser, $dbpassword) or die ('I cannot connect to the database because: ' . mysql_error()); mysql_select_db ($dbname,$dbh); define("DBH",$dbh);
$affiliateForm = array( "username"=>array("User Name","text",""), "password"=>array("Password","password",""), "site"=>array("Your Web Site","text","http://"), "email"=>array("Your Email","text"," yourname@yoursite.com "), "akey"=>array("","hidden",""), "ptype"=>array("Payment Method","select","check|paypal"), "pemail"=>array("Paypal Email","text",""), "address"=>array("Your Address","textarea","") ); function makeKey($len){ $chars= 'ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuv wxyz0123456789'; // characters to use in the password mt_srand((double)microtime()*1000000^getmypid()); while(strlen($password)<$len){ $password.=substr($chars,(mt_rand()%strlen($chars)),1); } return $password; }
function AffiliateAdd(){ $_POST['akey'] = makeKey(10); unset($_POST['ID']); unset($_POST['step']); $query = "INSERT INTO affiliates (".implode(", ",array_keys($_POST)).") VALUES ('".implode("', '",array_map("mysql_real_escape_string",$_POST))."')"; mysql_query($query,DBH) or die( mysql_error() ); return mysql_insert_id(); } function AffiliateUpdate($aid){ unset($_POST['step']); $query = "UPDATE affiliates SET "; foreach($_POST as $field => $value) { $query .= "$field = \"".mysql_real_escape_string($value)."\", "; } $query = substr($query, 0, strlen($query)-2)." WHERE ID = '{$aid}'"; mysql_query($query,DBH) or die( mysql_error() ); } function AffiliateStats($aid=""){ $sql = "SELECT * FROM affiliates WHERE ID='{$aid}'"; $lo = mysql_query( $sql ); $affi = mysql_fetch_assoc($lo); list($clicks) = mysql_fetch_row( mysql_query("SELECT COUNT(*) FROM affstats WHERE akey= '{$affi['akey']}'") ); list($orders) = mysql_fetch_row( mysql_query("SELECT COUNT(*) FROM affstats WHERE akey= '{$affi['akey']}' AND type=2") ); list($pending_total) = mysql_fetch_row( mysql_query("SELECT SUM(price) FROM affstats WHERE akey= '{$affi['akey']}' AND type=2 AND paid=0") ); list($paid_total) = mysql_fetch_row( mysql_query("SELECT SUM(price) FROM affstats WHERE akey= '{$affi['akey']}' AND type=2 AND paid=1") ); $total = $clicks+$orders; $order_total = $pending_total+$paid_total; $return = array( "total"=>$total, "clicks"=>$clicks, "orders"=>$orders, "pending_total"=>$pending_total, "paid_total"=>$paid_total, "order_total"=>$order_total ); return $return; } ?>
Most of these functions are pretty straightforward; you can figure them out just from their names.
Look And Feel
There are two files that need to be created to give the site its look and feel.
The first one is "header.php." This is the header for the site; change it to integrate more with your existing site:
<html> <head> <title><?=$sitename?> Affiliate Center</title> </head> <body> <h1><?=$sitename?> Affiliate Center</h1>
Finally, we have "footer.php", this is the other half of the look and feel of your site: <hr/> copyright 2005, <?=$sitename?>, <?=$siteurl?>
These can be changed quite easily, and changing them changes the whole look of the affiliate script.
Please enable JavaScript to view the comments powered by Disqus. blog comments powered by