J'essaie actuellement d'utiliser la session en cours d'une page Web php à partir d'une applet. Je pensais que ce serait simple, mais ça ne s'est pas passé aussi bien que moi. De l'php man:Utilisation d'une session avec php et Java
session_start() creates a session or resumes the current one based on a session
identifier passed via a GET or POST request, or passed via a cookie.
De là, je l'ai fait un peu de PHP (simplifié ici):
// PAGE1.PHP
session_start();
$_SESSION['test'] = true;
echo "sid=" . session_id();
// PAGE2.PHP
session_start();
if ($_SESSION['test'])
$echo "success";
else
$echo "fail";
Alors, de mon applet, je fais une demande de page1.php et il me retourne l'identifiant de session . Lorsque je fais une nouvelle requête sur la page 2, je passe l'identifiant de la session en paramètre et il semble que la session n'a pas été conservée. J'utilise
URL url = new URL("my/url/PAGE2.php?sid=" + session_id);
URLConnection conn = url.openConnection();
conn.setDoOutput(true);
OutputStreamWriter wr = new OutputStreamWriter(conn.getOutputStream());
wr.write(data); // data is the post data created previously
wr.flush();
// Get the response
BufferedReader rd = new BufferedReader(
new InputStreamReader(conn.getInputStream()));
String line;
while ((line = rd.readLine()) != null) {
System.out.println(line);
}
J'ai essayé via la méthode POST et GET et cela ne semble pas fonctionner.
Alors je me demande si c'est possible, et si oui, qu'est-ce qui me manque?
merci.
J'ai essayé sans succès. Après avoir relu la page de manuel, il semble que session_start est vide. Donc c'est normal que ça ne marche pas. – Sauleil
vous êtes en fait à la recherche de 'session_id ($ _ GET ['sid']); session_start(); ' –
Merci Frank! J'ai mal lu le doc à propos de session_id. J'ai du mal à créer une nouvelle session en appelant ça. Maintenant ça fonctionne comme un charme! – Sauleil