Avatar billede him Nybegynder
26. oktober 2002 - 15:02 Der er 7 kommentarer og
1 løsning

Lave en javascript viable om til en PHP viable

Hvordan gør man det?

screen.height
screen.width

dem jeg skal bruge
Avatar billede 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.
Avatar billede him Nybegynder
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
Avatar billede him Nybegynder
26. oktober 2002 - 15:21 #3
sorry den lange ventetid! :/
Avatar billede Slettet bruger
26. oktober 2002 - 18:46 #4
http://www.eksperten.dk/spm/257597

Her 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.
Avatar billede 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.
Avatar billede 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);
?>
Avatar billede him Nybegynder
26. oktober 2002 - 22:00 #7
WOW!!! Mange tark...

er 10 point nok??
Avatar billede Slettet bruger
26. oktober 2002 - 22:21 #8
Ja hvis du kan bruge det :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester