-3

I want save all the visitors Browser infos in my PHP session.

I have used the same Code before in an other script and it works fine, but in this one not..

1 Page:

<?php
session_start();    
?>

<script src="https://code.jquery.com/jquery-1.11.0.min.js" type="text/javascript"></script>
<script src="src/js/a.js" type="text/javascript"></script>
<script>
$(document).ready(function(){
    var client = new ClientJS();
    $("#browser_info").val(client.getBrowser() + " " + client.getBrowserMajorVersion());
    $("#os_info").val(client.getOS() + " " + client.getOSVersion());
    $("#screenPrint").val(client.getScreenPrint());
    $("#plugins").val(client.getPlugins());
    $("#isJava").val(client.isJava() + " " + client.getJavaVersion());
    $("#isFlash").val(client.isFlash() + " " + client.getFlashVersion());
    $("#isSilverlight").val(client.isSilverlight() + " " + client.getSilverlightVersion());
    $("#isMimeTypes").val(client.isMimeTypes() + " " + client.getMimeTypes());
    $("#fonts").val(client.getFonts());
});
</script>


<!DOCTYPE html>

And on the next page:

$_SESSION['vic_info_browser']= $_POST['browser_info'];
$_SESSION['vic_info_os']= $_POST['os_info'];
$_SESSION['vic_info_screen']= $_POST['screenPrint'];
$_SESSION['vic_info_plugins']= $_POST['plugins'];
$_SESSION['vic_info_java']= $_POST['isJava'];
$_SESSION['vic_info_flash']= $_POST['isFlash'];
$_SESSION['vic_info_silver']= $_POST['isSilverlight'];
$_SESSION['vic_info_mime']= $_POST['isMimeTypes'];
$_SESSION['vic_info_fonts']= $_POST['fonts'];

My paths are also correct, anyone know whats the Problem?

Error is: Undefined index: screenPrint

For every Session the erros comes not only screenPrint

executable
  • 3,365
  • 6
  • 24
  • 52
Pather34
  • 3
  • 1

1 Answers1

1

I will try to answer to your question. In your code you're not sending any data to your PHP. A solution would be to use Ajax.

<?php
session_start();    
?>

<script src="https://code.jquery.com/jquery-1.11.0.min.js" type="text/javascript"></script>
<script src="src/js/a.js" type="text/javascript"></script>
<script>
$(document).ready(function(){
    var client = new ClientJS();
    var browser = $("#browser_info").val(client.getBrowser() + " " + client.getBrowserMajorVersion());
    var os_info = $("#os_info").val(client.getOS() + " " + client.getOSVersion());
    var screenPrint = $("#screenPrint").val(client.getScreenPrint());
    var plugins = $("#plugins").val(client.getPlugins());
    var isJava = $("#isJava").val(client.isJava() + " " + client.getJavaVersion());
    var isFlash = $("#isFlash").val(client.isFlash() + " " + client.getFlashVersion());
    var isSilverlight = $("#isSilverlight").val(client.isSilverlight() + " " + client.getSilverlightVersion());
    var isMimeTypes = $("#isMimeTypes").val(client.isMimeTypes() + " " + client.getMimeTypes());
    var fonts = $("#fonts").val(client.getFonts());
    $.ajax({
        type      : 'POST',
        url       : 'yourphp.php',
        data      : { browser: browser, os_info: os_info, screenPrint: screenPrint, plugins: plugins, isJava: isJava, isFlash: isFlash, isSilverlight: isSilverlight, isMimeTypes: isMimeTypes, fonts: fonts  },
        success   : function(data) {

       }
    });
});
</script>


<!DOCTYPE html>

And your PHP I add some verification

session_start();
if(isset($_POST['browser_info'])){
    $_SESSION['vic_info_browser']= $_POST['browser_info'];
}
if(isset($_POST['os_info'])){
    $_SESSION['vic_info_os']= $_POST['os_info'];
}
if(isset($_POST['screenPrint'])){
    $_SESSION['vic_info_screen']= $_POST['screenPrint'];
}
if(isset($_POST['plugins'])){
    $_SESSION['vic_info_plugins']= $_POST['plugins'];
}
if(isset($_POST['isJava'])){
    $_SESSION['vic_info_java']= $_POST['isJava'];
}
if(isset($_POST['isFlash'])){
    $_SESSION['vic_info_flash']= $_POST['isFlash'];
}
if(isset($_POST['isSilverlight'])){
    $_SESSION['vic_info_silver']= $_POST['isSilverlight'];
}
if(isset($_POST['isMimeTypes'])){
    $_SESSION['vic_info_mime']= $_POST['isMimeTypes'];
}
if(isset($_POST['fonts'])){
    $_SESSION['vic_info_fonts']= $_POST['fonts'];
}
executable
  • 3,365
  • 6
  • 24
  • 52