Hallo,
ich habe wenig Ahnung von JS und hoffe auf euer Verständnis. In den relevanten Threads, die ich hier gefunden habe, konnte ich leider keine Lösung für mein Problem finden.
Ich will per JS Breite und Höhe des Browsers ermitteln, per HTTPRequest an eine PHP-Datei auf dem Server schicken, die die Werte in eine Datenbank abspeichert.
Dazu steht in meiner counter.php, die am Ende der index.php per include eingebunden ist folgendes JS:
Nach meinem Verständnis werden die Werte für Breite und Höhe in den JS-Variablen width und height erfasst, dann wird die Funktion setRequest aufgerufen, die sie an die statistik_aufloesung.php sendet, deren Code so aussieht:
Ergebnis ist, dass bei Aufruf meiner Webseite ab und zu etwas in die Datenbank eingetragen wird, meistens aber nicht. Hat jemand dazu eine Idee? Danke schon mal für gute Tipps.
ich habe wenig Ahnung von JS und hoffe auf euer Verständnis. In den relevanten Threads, die ich hier gefunden habe, konnte ich leider keine Lösung für mein Problem finden.
Ich will per JS Breite und Höhe des Browsers ermitteln, per HTTPRequest an eine PHP-Datei auf dem Server schicken, die die Werte in eine Datenbank abspeichert.
Dazu steht in meiner counter.php, die am Ende der index.php per include eingebunden ist folgendes JS:
Code:
<script type="text/javascript">
var request = false;
// Request senden
function setRequest(height, width) {
// Request erzeugen
if (window.XMLHttpRequest) {
request = new XMLHttpRequest(); // Mozilla, Safari, Opera
} else if (window.ActiveXObject) {
try {
request = new ActiveXObject('Msxml2.XMLHTTP'); // IE 5
} catch (e) {
try {
request = new ActiveXObject('Microsoft.XMLHTTP'); // IE 6
} catch (e) {}
}
}
// überprüfen, ob Request erzeugt wurde
if (!request) {
alert("Kann keine XMLHTTP-Instanz erzeugen");
return false;
} else {
var url = "http://www.meinewebseite.de/js/statistik_aufloesung.php";
// Request öffnen
request.open('post', url, true);
// Requestheader senden
request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
// Request senden
request.send('height='+height+'&width='+width);
}
}
var height = screen.height;
var width = screen.width;
setRequest(height, width);
</script>
PHP:
<?php
$width = $_POST['width'];
$height = $_POST['height'];
$aufl = $width."x". $height;
// Eintrag in Dauerstatidtik BROWSERAUFLÖSUNG
$stmt_auf_drin = $pdo->prepare("SELECT aufl, zahl FROM ".TAB_STAT_AUFL." GROUP BY aufl;");
$stmt_auf_drin->execute();
while($row = $stmt_auf_drin->fetch()) {
$aufl_drin = $row['aufl'];
$aufl_zahl = $row['zahl'];
$aufl_zahl_neu = $aufl_zahl+1;
if ($aufl == $aufl_drin) {
$stmt_auf = $pdo->prepare("UPDATE ".TAB_STAT_AUFL." SET zahl = :aufl_zahl_neu WHERE aufl = :aufl_drin");
$stmt_auf->execute(array('aufl_drin' => $aufl_drin, 'aufl_zahl_neu' => $aufl_zahl_neu));
}
else {
$stmt_auf_neu = $pdo->prepare("INSERT INTO ".TAB_STAT_AUFL." (aufl, zahl) VALUES (?, ?);");
$stmt_auf_neu->execute(array($aufl, 1));
}
}
?>
Zuletzt bearbeitet von einem Moderator: