Solved

accessing php session variable in java

Posted on 2012-04-03
4
1,056 Views
Last Modified: 2012-04-08
hello how do i access the php session variable in java?

java code
/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.net.URL;
import java.net.URLConnection;

/**
 * Send a POST request using URLConnection
 * (Consider using HttpURLConnection or HttpsURLConnection)
 */

/**
 *
 * @author theodore werntz ii
 */
public class WebClientPHP {
    
public static void main(String[] args) {
        
        try {
            // Prepare data
            String data = "UserId" ; // THIS IS THE ELEMENT I NEED TO GET FROM PHP SESSION 
    
            // Prepare connection
            URL url = new URL("http://127.0.0.1/subtest.php?name=" 
                    + data );
            URLConnection connection = url.openConnection();
            connection.setDoOutput(true);  // Needed to write to a URLConnection
            
            // Get the response
            BufferedReader reader = new BufferedReader(
                                          new InputStreamReader(
                                                connection.getInputStream()));
            // Print the response
            String line;
            while ((line = reader.readLine()) != null)
                System.out.println(line);
            
            reader.close();  // Close the reader
        }
        catch (Exception e) {
            e.printStackTrace();
        }
    }
}

Open in new window


php code
<applet code=ComputerInfoApplet.class width="400" height="400"
ARCHIVE="ComputerInfoSepFiles.jar">
<param name="mayscript" value="true">
<param name="scriptable" value="true">
</applet>

Open in new window



so how will i pass a variable from php to java applet and how will i access the variable in java that was passed to the applet?

thanks in advance for your help!

Theodore E. Werntz II
0
Comment
Question by:only1wizard
  • 3
4 Comments
 
LVL 108

Expert Comment

by:Ray Paseur
ID: 37801704
PHP can expose any variable value in the browser output stream with a simple echo statement, and can also make a one-time echo that terminates the script with die().  If your Java program can call a PHP script and read the browser output your PHP script could expose the contents of $_SESSION["userid"] with something as simple as this.
<?php
session_start();
if (!empty($_SESSION["userid"]))
{
    die($_SESSION["userid"]);
}
else
{
    die('NO USER ID');
}

Open in new window

0
 

Author Comment

by:only1wizard
ID: 37801787
but that doesnt help the problem of accessing the php $_SESSION variable in java. I understand that accessing the variable by $_SESSION and or echo $VARIABLE.

what i dont understand is how to access the php variable in java?

thanks in advance for your help!
0
 

Accepted Solution

by:
only1wizard earned 0 total points
ID: 37802541
i got it working

here is the php code
<?php 
// set session variables
if (!isset($_SESSION)) {
  session_start();
}
$_SESSION['first'] = '1';
$_SESSION['second'] = '2';
$_SESSION['third'] = '3';

?>

Open in new window


html code
<applet code="MyApplet.class" height="100" width="400" ARCHIVE="MyApplet.jar">
<param name="first" value="<?php echo $_SESSION['first']; ?>" />
<param name="second" value="<?php echo $_SESSION['second']; ?>"  />
<param name="third" value="<?php echo $_SESSION['third']; ?>"  />
</applet>

Open in new window


java code

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
//package myapplet;

/**
 *
 * @author theodore werntz ii
 */
import java.applet.*;    
import java.awt.*;

public class MyApplet extends Applet  {

    /**
     * @param args the command line arguments
     */
    
    public void init() {
  add(new Label(getParameter("first")));
  add(new Label(getParameter("second")));
  add(new Label(getParameter("third")));
  }
    
}

Open in new window

0
 

Author Closing Comment

by:only1wizard
ID: 37820881
ive worked out a solution for cross language communication with sessions
0

Featured Post

IT, Stop Being Called Into Every Meeting

Highfive is so simple that setting up every meeting room takes just minutes and every employee will be able to start or join a call from any room with ease. Never be called into a meeting just to get it started again. This is how video conferencing should work!

Join & Write a Comment

Suggested Solutions

Since pre-biblical times, humans have sought ways to keep secrets, and share the secrets selectively.  This article explores the ways PHP can be used to hide and encrypt information.
Any business that wants to seriously grow needs to keep the needs and desires of an international audience of their websites in mind. Making a website friendly to international users isn’t prohibitively expensive and can provide an incredible return…
Explain concepts important to validation of email addresses with regular expressions. Applies to most languages/tools that uses regular expressions. Consider email address RFCs: Look at HTML5 form input element (with type=email) regex pattern: T…
This tutorial will teach you the core code needed to finalize the addition of a watermark to your image. The viewer will use a small PHP class to learn and create a watermark.

706 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

18 Experts available now in Live!

Get 1:1 Help Now