Slettet bruger
26. oktober 2002 - 15:09
#1
Hvis det er for at gemme den i database er det nemmeste nok at lave et dummy billede, hvor du henviser til f.eks. statistik.php?height=<script> document.write(screen.height); </script>
Og det samme med bredden.
I statistik skriver du så resultatet til databasen.
Men du må lige forklare lidt bedre hvad det skal bruges til.
26. oktober 2002 - 15:21
#2
det er til statestik! men jeg har nada forstand på javascript, så derfor må du godt forklare det lidt bedre!
Jeg skal bruge brugens browser-størrelse, som vil er hvad jeg skrev, og hvormange farver.. (som jeg ikk ved hvad hedder)
Og så skal det sættes ind i en mySQL database, fra en .php-side
Slettet bruger
26. oktober 2002 - 18:46
#4
http://www.eksperten.dk/spm/257597Her er det dog ikke skærmens størrelse, men selve vinduets størrelse. Det er mere interresant, men hvis du skal bruge det til statistik skal du bare have fat i skærmopløsningen.
Der findes masser af spørgsmål herinde på E der forklarer hvordan man henter styresystem, farveantal, browser osv med JavaScript.
Slettet bruger
26. oktober 2002 - 18:59
#5
Der var lige en del fejl, men her er en der virker:
stats.php:
<html>
<head>
</head>
<body>
<script language="JavaScript" type="text/javascript">
//opera Netscape 6 Netscape 4x Mozilla
if (window.innerWidth || window.innerHeight){
docwidth = window.innerWidth;
docheight = window.innerHeight;
}
//IE Mozilla
if (document.body.clientWidth || document.body.clientHeight){
docwidth = document.body.clientWidth;
docheight = document.body.clientHeight;
}
</script>
<script language="JavaScript" type="text/javascript">
function sendvar() {
var foo1 = docwidth;
var foo2 = docheight;
document.write("<img width='1' height='1' src='receiver.php?foo1=" + foo1 + "&foo2=" + foo2 + "'>");
}
</script>
<script language="JavaScript" type="text/javascript">
sendvar();
</script>
</body>
</html>
receiver.php:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Untitled</title>
</head>
<body>
<?
$dbhost = "localhost";
$dbuser = "root";
$dbpass = "";
$dbcnx = mysql_connect($dbhost, $dbuser, $dbpass);
mysql_SELECT_db("music");
$sql = "INSERT INTO music_statistik (v_bredde, v_hoejde) VALUES ('" . $_GET['foo1'] . "', '" . $_GET['foo2'] . "')";
echo $sql;
$result = mysql_query($sql);
?>
</body>
</html>
Du skal prøve at kalde stats.php for at se hvordan det virker. Det er blot en blank side, den får så receiver.php til at gemme dine variabler i databasen.
Slettet bruger
26. oktober 2002 - 19:29
#6
Nu har jeg strikket lidt mere, og nedenstående kode skal blot lægges ind imellem <body> og </body>
Først kommer der lige en struktur over den database jeg har brugt:
CREATE TABLE music_statistik (
id int(10) unsigned NOT NULL auto_increment,
ip varchar(15) default '0',
tidspunkt datetime default '0000-00-00 00:00:00',
side varchar(50) default '0',
brugernavn varchar(14) default '0',
v_bredde int(4) unsigned default NULL,
v_hoejde int(4) unsigned default NULL,
s_bredde int(4) unsigned default NULL,
s_hoejde int(4) unsigned default NULL,
antal_farver varchar(25) default NULL,
PRIMARY KEY (id)
) TYPE=MyISAM;
stats.php:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Untitled</title>
</head>
<body>
<script language="JavaScript" type="text/javascript">
//opera Netscape 6 Netscape 4x Mozilla
if (window.innerWidth || window.innerHeight){
docwidth = window.innerWidth;
docheight = window.innerHeight;
}
//IE Mozilla
if (document.body.clientWidth || document.body.clientHeight){
docwidth = document.body.clientWidth;
docheight = document.body.clientHeight;
}
screenwidth = screen.width;
screenheight = screen.height;
num_colors = screen.colorDepth + " bit";
</script>
<script language="JavaScript" type="text/javascript">
function sendvar() {
var foo1 = docwidth;
var foo2 = docheight;
var foo3 = screenwidth;
var foo4 = screenheight;
var foo5 = num_colors;
var foo6 = "<? echo $_SERVER['REMOTE_ADDR']; ?>";
var foo7 = "<? echo $_SERVER["PHP_SELF"]; ?>";
<?
If($_SESSION['brugernavn'] == "") {
?>
var foo8 = "Gæst";
<?
} else {
?>
var foo8 = "<? echo $_SESSION['brugernavn']; ?>";
<?
}
?>
document.write("<img width='1' height='1' src='receiver.php?foo1=" + foo1 + "&foo2=" + foo2 + "&foo3=" + foo3 + "&foo4=" + foo4 + "&foo5=" + foo5 + "&foo6=" + foo6 + "&foo7=" + foo7 + "&foo8=" + foo8 + "'>");
}
</script>
<script language="JavaScript" type="text/javascript">
sendvar();
</script>
</body>
</html>
receiver.php:
<?
$dbhost = "localhost";
$dbuser = "root";
$dbpass = "";
$dbcnx = mysql_connect($dbhost, $dbuser, $dbpass);
mysql_SELECT_db("music");
$sql = "INSERT INTO music_statistik (ip, tidspunkt, side, brugernavn, v_bredde, v_hoejde, s_bredde, s_hoejde, antal_farver) VALUES ('" . $_GET['foo6'] . "', now(), '" . $_GET['foo7'] . "', '" . $_GET['foo8'] . "', '" . $_GET['foo1'] . "', '" . $_GET['foo2'] . "', '" . $_GET['foo3'] . "', '" . $_GET['foo4'] . "', '" . $_GET['foo5'] . "')";
echo $sql;
$result = mysql_query($sql);
?>