Jump to content

Help with getting users screen resolution for stats page using JS and PHP


mitch3893

Recommended Posts

Hey guys,

 

What im trying to do is get the users screen resolution and place it into a database so that i can call it up and place it onto a stats page. So far i get the idea that you have to use Javascript to get the resolution then use PHP to pull that information.

 

What i want to do is pull the screen resolutions and place them into a database so that i can call upon them to place into a stats page

 

So far i have the following getting certain bits of information and banging them into the database using the stats.inc.php then calling them up and placing them onto stats.php.

the stats.inc.php is included on every page of my site so it can track where a users has been etc etc.

 

Im assuming i can insert something into my headerLoggedin.inc.php file that will pull the users resolution then use some PHP in the stats.inc.php script to pull that information and then insert it into my database which i can then easily pull from and place into the stats.php page.

 

I know this seems like a bit of a silly thing to be doing, its for a college assignment and im pretty stumped.

 

Any help is appreciated thanks guys.

 

 

headerLoggedin.php

<?php include('includes/security.inc.php'); ?>
<?php include('includes/stats.inc.php');?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" 
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
    <meta http-equiv="Content-type" content="text/html; charset=utf-8" />
    <meta http-equiv="Content-Language" content="en-us" />
<link rel="stylesheet" href="css/index.css" type="text/css"/>	
    <title>############</title>
</head>

<body>
<!-- Start of wrapper div-->
<div id="wrapper">

<!-- Start of header div-->
<div id="header">
  		<div id="logo"><img src="./images/logo.png" width="412" height="32" alt="Elite Recruitment Services" /></div>
        <div id="navigation">
            <ul class="nav">
            	<li><a href="news.php">News Page</a></li>
                <li><a href="edit.php">Edit text file</a></li>
                <li><a href="upload.php">Upload text file</a></li>
                <li><a href="stats.php">Stats</a></li>
                <li><a href="logout.php">Logout</a></li>
            </ul>
        </div>
    </div>
   	<!--End of header div-->
    
    <!--Start of loginContainer div-->
    <div id="formsContainer"> 	

stats.inc.php

<?php
$db_host = "localhost"; 				// Databases host name
$db_username ="#######"; 			// Database Username
$db_password ="#######"; 		// Database Password
$db_name ="dannymit_stats"; 			// Databases name
$db_table="statTracker"; 					// Database table where the logins are stored
mysql_connect("$db_host", "$db_username", "$db_password"); // Connects to the database using the preset host, username and password
mysql_select_db("$db_name"); // Selects the database.

//collect information...
$browser  = $_SERVER['HTTP_USER_AGENT']; // get the browser name
$curr_page = $_SERVER['PHP_SELF'];// get page name
$ip = $_SERVER['REMOTE_ADDR'];   // get the IP address
$from_page = $_SERVER['HTTP_REFERER'];//  page from which visitor came
$page = $_SERVER['PHP_SELF'];//get current page
$width = $_GET['width']; //Gets users screen width
$height = $_GET[['height']; //Gets users screen height

//Insert the data in the table...
$query_insert  = "INSERT INTO statTracker
(browser,ip,thedate_visited,page,from_page) VALUES
('$browser','$ip',now(),'$page','$from_page')" ;
$result=mysql_query ( $query_insert); 
if(!$result){
die(mysql_error());
}
?>

 

stats.php

<?php
// Header include
include('includes/headerLoggedin.inc.php');
include('includes/stats.inc.php');
?>
<br/><br/>
<?php 
$db_host = "localhost"; 				// Databases host name
$db_username ="######"; 			// Database Username
$db_password ="######"; 		// Database Password
$db_name ="dannymit_stats"; 			// Databases name
$db_table="statTracker"; 					// Database table where the logins are stored
mysql_connect("$db_host", "$db_username", "$db_password"); // Connects to the database using the preset host, username and password
mysql_select_db("$db_name"); // Selects the database.

$sqlquery = "SELECT * FROM `$db_table`";
$result = mysql_query($sqlquery);
$num = mysql_num_rows($result);
mysql_close();

while ($row = mysql_fetch_array($result, MYSQL_NUM)) {
    printf ("Browser:<br/> %s<br/> IP Address:<br/> %s<br/> Date Visited:<br/> %s<br/> Page Visited:<br/> %s<br/> Paged Visited From:<br/> %s<br/>", $row[1], $row[2], $row[3], $row[4], $row[5]);
echo "<br />";
}
?>
<?php include('includes/footer.inc.php');?>

 

 

 

 

 

Link to comment
Share on other sites

I will just say what I have and you can use these ideas or not.  On my login page I have the JS direct to a "ping page" with the width sent as GET for each user level using a link like this.

echo "<script language='javascript'>\n";
echo "  location.href=\"admin/gohome.php?width=\" + screen.width";
echo "</script>";

The "gohome.php" page updates the users width and directs them to their home page.

$swidth=$_GET['width'];
IF (isset($_GET['width'])){
mysql_query("UPDATE ".$conf['tbl']['users']." SET userwidth = $swidth  WHERE ID = $newID");
header("location: admin.php");

So I only do screen width check on login.  Each page "includes" the page for page tracking and those values are added to the page tracking DB table.

Link to comment
Share on other sites

This thread is more than a year old. Please don't revive it unless you have something important to add.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

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