Forum Moderators: coopster
session_start();
header('Cache-control: private'); // IE 6 fix
if(empty($_SESSION[sessID])){
$Pool = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
."abcdefghijklmnopqrstuvwxyz"
."0123456789";
$lastChar = strlen($Pool) - 1;
for($i = 0; $i < 16; $i++){
$_SESSION[sessID] .= $Pool[mt_rand(0, $lastChar)];
}
// insert session into db
$dbLink = mysql_pconnect("localhost", "user", "password");
mysql_select_db("SessionStore", $dbLink);
$Query = "INSERT INTO tblSessions(fldSessID, fldLastAction) "."VALUES('$_SESSION[sessID]', 'now()')";
if(!$dbResult = mysql_query($Query, $dbLink)){
$error = "couldn't insert session";
}
header('Location: home.php');
}
else{
// connect and select db
$dbLink = mysql_pconnect("localhost", "user", "password");
mysql_select_db("SessionStore", $dbLink);
// get rid of old sessions first
$Query = "DELETE FROM tblSessions "
."WHERE fldLastAction < '"
. date("Y-m-d H:i:s", (time() - 10800))
."'";
if(!$dbResult = mysql_query($Query, $dbLink)){
$error = "error... could not delete old session records";
}
// check to see if session is already in table
$Query = "SELECT fldSessID "
."FROM tblSessions "
."WHERE fldSessID = '$_SESSION[sessID]'";
if($dbResult = mysql_query($Query, $dbLink)){
//do nothing;
}
else{//session is new
// connect and select db
$dbLink = mysql_pconnect("localhost", "user", "password");
mysql_select_db("GYHitCounters", $dbLink);
//get hit counter for page;
$Query = "SELECT fldHome "
."FROM tblHitCounters";
$dbResult = mysql_query($Query, $dbLink);
$hits = mysql_result($dbResult,0);
$hit++;
// update fldPage
$Query = "UPDATE tblHitCounters "
."SET fldHome = '$hits'";
mysql_query($Query, $dbLink);
}
Any help is appreciated and will help this newbie 8)
Thanks,
John
<?php
session_start();
header('Cache-control: private');if(empty($_SESSION['sessID'])){
$Pool = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
."abcdefghijklmnopqrstuvwxyz"
."0123456789";
$lastChar = strlen($Pool) - 1;for($i = 0; $i < 16; $i++){
$_SESSION['sessID'] .= $Pool[mt_rand(0, $lastChar)];
}header("Location: ["...] . $_SERVER['HTTP_HOST'] . dirname($_SERVER['PHP_SELF']) . "/SessionTestE.php");
}if(isset($_SESSION['sessID'])){
// connect and select db
$dbLink = mysql_pconnect("localhost", "user", "password");
mysql_select_db("SessionStore", $dbLink);// get rid of old sessions first
$Query = "DELETE FROM tblSessions "
."WHERE fldLastAction < '"
. date("Y-m-d H:i:s", (time() - 10800))
."'";
mysql_query($Query, $dbLink);// check to see if session is already in table
$Query = "SELECT fldSessID "
."FROM tblSessions "
."WHERE fldSessID = '$_SESSION[sessID]'";
$dbResult = mysql_query($Query, $dbLink);
$row = mysql_result($dbResult,0);if(!$row){
// insert session into db
mysql_select_db("SessionStore", $dbLink);$Query = "INSERT INTO tblSessions(fldSessID, fldLastAction) "
."VALUES('$_SESSION[sessID]', now())";
mysql_query($Query, $dbLink);// select db
mysql_select_db("GYHitCounters", $dbLink);//get hit counter for page;
$Query = "SELECT fldHome "
."FROM tblHitCounters";
$dbResult = mysql_query($Query, $dbLink);
$hits = mysql_result($dbResult,0);
$hits++;// update fldPage
$Query = "UPDATE tblHitCounters "
."SET fldHome = '$hits'";
mysql_query($Query, $dbLink);
}
}echo "hits= $hits<br />";
?>
What I really don't get is why if the database counter is updated fine, the $hits variable wont echo? Sorry about the indentation... can't seem to get the pre tags to work.
John