Garder les variables après un refresh

Petit nouveau ! | 4 Messages

17 août 2009, 20:20

Bonjour.

Je ne suis pas très très bon en php mais je me débrouille. (Enfin, y a pire)

J'ai une page Formulaire (index.php) qui me revoie des données en méthode POST vers la page wall_board.php

L'affichage ce fait bien mais au prochain refresh, plus de donnée!

J'ai regardé (peut-être pas assez) et il est évoqué ceci:

Code : Tout sélectionner

if($_POST) { $_SESSION['post'] = $_POST; }
En faite, voici mon code (ou en partie):

Code : Tout sélectionner

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <?PHP include_once "libs/functions.inc"; global $rs, $result, $queues_number ; $queue = trim($_POST['queue']); $template = trim($_POST['template']); $refresh = trim($_POST['refresh']); get_queues_value(); scan_queues(); if($_POST) { $_SESSION['post'] = $_POST; } ?> <meta content="text/html; charset=ISO-8859-1" http-equiv="content-type"> <?PHP echo '<meta http-equiv="Refresh" content="'.$refresh.'"'; ?> > <title> <?PHP echo $queues_number[$queue]; ?> </title> </head> <body> ..etc..
En faite, je voudrait garder:

Code : Tout sélectionner

$queue = trim($_POST['queue']); $template = trim($_POST['template']); $refresh = trim($_POST['refresh']);
Au prochain refresh.

Que me conseillez vous?
Qu'est-ce qui cloche ?

Merci de votre aide.

Franck

Eléphant du PHP | 245 Messages

17 août 2009, 21:40

bah, tu peux commencer par :
!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<?PHP
   include_once "libs/functions.inc";
   global $rs, $result, $queues_number ;

if($_POST)
{
$_SESSION['post'] = $_POST;
$queue = trim($_SESSION['post']['queue']);
   $template = trim($_SESSION['post']['template']);
   $refresh = trim($_SESSION['post']['refresh']);


} 

   
   get_queues_value();
   scan_queues();




?>
<meta content="text/html; charset=ISO-8859-1" http-equiv="content-type">
<?PHP echo '<meta http-equiv="Refresh" content="'.$refresh.'"'; ?> >

<title>

<?PHP 
   echo $queues_number[$queue]; 
?>
</title>

</head>
<body>

ViPHP
fab
ViPHP | 2657 Messages

18 août 2009, 01:16

Pour utiliser les variables de sessions tu dois en créer une avant tout, pour celà tu dois utiliser session_start() ( http://fr.php.net/manual/fr/function.session-start.php ).

L'appel à cette fonction doit être fait avant tout envoie de donnée au client.
Seul l'intelligent a le pouvoir de se trouver con
try { work(); } catch(FlemmeExeption $e) { sleep(84600); }

Petit nouveau ! | 4 Messages

18 août 2009, 07:35

bah, tu peux commencer par :
!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<?PHP
   include_once "libs/functions.inc";
   global $rs, $result, $queues_number ;

if($_POST)
{
$_SESSION['post'] = $_POST;
$queue = trim($_SESSION['post']['queue']);
   $template = trim($_SESSION['post']['template']);
   $refresh = trim($_SESSION['post']['refresh']);


} 

   
   get_queues_value();
   scan_queues();




?>
<meta content="text/html; charset=ISO-8859-1" http-equiv="content-type">
<?PHP echo '<meta http-equiv="Refresh" content="'.$refresh.'"'; ?> >

<title>

<?PHP 
   echo $queues_number[$queue]; 
?>
</title>

</head>
<body>

Pas mieux. :(

Petit nouveau ! | 4 Messages

18 août 2009, 07:44

Pour utiliser les variables de sessions tu dois en créer une avant tout, pour celà tu dois utiliser session_start() ( http://fr.php.net/manual/fr/function.session-start.php ).

L'appel à cette fonction doit être fait avant tout envoie de donnée au client.
Tu veux dire par là qu'il faille mettre sessions_start() dans la page index.php uniquement?
Ce que j'ai essayé mais sans résultat.

Code : Tout sélectionner

if($_POST) { $_SESSION['post'] = $_POST; $queue = trim($_SESSION['post']['queue']); $template = trim($_SESSION['post']['template']); $refresh = trim($_SESSION['post']['refresh']); }
Hmm si j'ai bien compris:
Si $_POST est non vide, alors j'affecte le contenu de $_POST dans la variable système $_SESSION['post']
Après j'affecte le contenu du tableau $_SESSIOS['post'] dans mes variables.

Mes après le refresh, si $_POST est vidé !? Je me retrouve dans la même situation?

Petit nouveau ! | 4 Messages

18 août 2009, 09:43

C'est bon j'ai trouvé:

Code : Tout sélectionner

session_start(); if(!empty($_POST)) { $_SESSION['post'] = $_POST; $queue = trim($_SESSION['post']['queue']); $template = trim($_SESSION['post']['template']); $refresh = trim($_SESSION['post']['refresh']); } $queue = trim($_SESSION['post']['queue']); $template = trim($_SESSION['post']['template']); $refresh = trim($_SESSION['post']['refresh']);
Merci à tous :D