Variable de session.... encore !!! - PHP - Programmation
Marsh Posté le 17-11-2003 à 17:54:25
a mon avis, ton session_name('DEVIS1'); ne sert aà rien ...
sinon .... , essayes plutôt ce genre de syntaxe :
Code :
|
[/cpp]
ou
Code :
|
Marsh Posté le 17-11-2003 à 18:25:49
simogeo a écrit : a mon avis, ton session_name('DEVIS1'); ne sert aà rien ...
[/cpp]
|
Merci beaucoup pour ta reponse...
J'ai essayé ta methode (la seconde surtout)... mais en vain !!
je te montre mon code de nouveau :
index_etape1.php
<?
session_name ('DEVIS1');
session_start();
$_SESSION['nb_pages']=$_POST['type_nb_pages'];
$_SESSION['format_papier']=$_POST['type_format_papier'];
$_SESSION['rv']=$_POST['type_rv'];
$_SESSION['nb_pages_nb']=$_POST['type_nb_pages_nb'];
$_SESSION['nb_pages_coul']=$_POST['type_nb_pages_coul'];
if ($submit){
header("Location: index_etape2.php?".session_name()."=".session_id());
}
?>
index_etape2.php
<? echo "Nombre de pages total: ".$_SESSION['nb_pages'].""; ?><br>
<? echo "Format papier : ".$_SESSION['format_papier'].""; ?> <br>
<? echo "Nombre pages noir et blanc : ".$_SESSION['nb_pages_nb'].""; ?><br>
<? echo "Nombre pages couleur : ".$_SESSION['nb_pages_coul'].""; ?><br>
Donc toujours le même probleme... je sais pas si mes variables sont enregistrées... êt je peux rien afficher !
Est ce un probleme d'ordre dans mon script ? si on regarde bien l'ordre de mon script...
1°) Je POST mon premier formulaire vers la page elle même (PHP_SELF)
2°) J'enregistre les variables (enfin j'essaie avec $_SESSION)
3°) je dirige vers la page suivante (Header "Location..." )
Est ce que ça va dans le bon sens ? Est ce que c logique ???
Est ce qu'il faut faire un "rappel" sur la page suivante pour utiliser les variables ou c'est censé etre enregistré dans la session d'office afin de pouvoir utiliser les variables à tout moment (comme je le souhaiterai) ?
Merci d'avance !!
Marsh Posté le 17-11-2003 à 20:24:42
et ça ça marche ?
index_etape1.php
<?php
session_start();
$_SESSION['nb_pages']=$_POST['type_nb_pages'];
$_SESSION['format_papier']=$_POST['type_format_papier'];
$_SESSION['rv']=$_POST['type_rv'];
$_SESSION['nb_pages_nb']=$_POST['type_nb_pages_nb'];
$_SESSION['nb_pages_coul']=$_POST['type_nb_pages_coul'];
if ($submit){
header("Location: index_etape2.php" );
}
?>
index_etape2.php
<?php
session_start();
echo "Nombre de pages total: ".$_SESSION['nb_pages']."<br>";
echo "Format papier : ".$_SESSION['format_papier']."<br>";
echo "Nombre pages noir et blanc : ".$_SESSION['nb_pages_nb']."<br>";
echo "Nombre pages couleur : ".$_SESSION['nb_pages_coul']."<br>";
?>
Marsh Posté le 18-11-2003 à 11:56:41
Et bien... je viens d'essayer... et ça marche pas mieux ! !!!
Pourtant ça a pas l'air compliqué ! mais cherchez l'erreur...
ça fait 3 semaines que je galère avec ça ! lol !!!
Marsh Posté le 18-11-2003 à 12:21:04
> freed102
Code :
|
fais un fichier test avec uniquement ca dedans ......
Marsh Posté le 18-11-2003 à 12:30:28
je viens de le faire... ta technique fonctionne... donc c qu'il ya a bien un bug dans mon code !! mais ou ?? je passe par un formulaire.. alors c pas si simple ! et je dois interagir avec les fichiers suivants... c pas impossible ça ?
pour ton test : http://www.clonecopy.net/test.php
Marsh Posté le 18-11-2003 à 12:31:39
Ne faut t il pas que j'enregistre mes variables sur le fichier suivant plutot que sur le fichier lui même ? (PHP_SELF) ?
Marsh Posté le 18-11-2003 à 12:46:05
très bien
on va maintenant verifier la configuration de php et le comportement des sessions sur le serveur
tu peux nous mettre un lien vers un fichier qui contiendra uniquement ceci :
<?php
phpinfo();
?>
Marsh Posté le 18-11-2003 à 13:06:52
ReplyMarsh Posté le 18-11-2003 à 13:15:33
le phpinfo te fournit (entre autres) les infos concernant les sessions :
Session Support enabled |
voici ta config serveur, tu trouveras toutes les infos relatives a cela dans la doc php.
session.use_trans_sid off // signifie que tu dois transmettre manuellement ton identifiant de session.
il semble que tu perdes le lien au premier submit du formulaire ( tu le transmets bien après dans le header )
dans ton form ajoutes alors :
Code :
|
afin de faire suivre ton identifiant de session lors de ton premier submit.
il sera impératif de le mettre dans chaque formulaire avec ta configuration actuelle!
Marsh Posté le 18-11-2003 à 17:52:04
mais alors je mais quoi dans le <form action="????"...>
Marsh Posté le 18-11-2003 à 18:03:57
<form action="<? $_SERVER['PHP_SELF']; ?>" method="post">
Marsh Posté le 20-11-2003 à 12:11:50
vous savez quoi??? et bien j'ai reussi !! (enfin presque !!) mais c loin d'etre terminé !lol
Marsh Posté le 20-11-2003 à 12:19:38
freed102 a écrit : vous savez quoi??? et bien j'ai reussi !! (enfin presque !!) mais c loin d'etre terminé !lol |
Marsh Posté le 17-11-2003 à 17:08:50
Excusez moi encore... Mais j'ai toujours mon probleme avec les variables de session...
Je sais ça doit pas etre compliqué à faire... j'ai essayé plein de methodes... Mais là je suis pas convaincu que ça marche ! lol!
en fait ma session est crée (enfin apparement vu l'URL !)
Simplement quand je veux afficher une de mes variables... et bien ça ne s'affiche pas !
Si quelqu'un pouvait me dire quelle est l'erreur que je fais... ça m'aiderait enormement !!!
voici mon code :
index_etape1.php
<?
session_name ('DEVIS1');
session_start();
$_SESSION[$_POST['type_nb_pages']]=$nb_pages;
$_SESSION[$_POST['type_format_papier']]=$format_papier;
$_SESSION[$_POST['type_rv']]=$rv;
$_SESSION[$_POST['type_nb_pages_nb']]=$nb_pages_nb;
$_SESSION[$_POST['type_nb_pages_coul']]=$nb_pages_coul;
if ($submit){
header("Location: index_etape2.php?".session_name()."=".session_id());
}
?>
<form action="index_etape1.php" method="post">
[...]
index_etape2.php
<?
session_name ('DEVIS1');
session_start();
$_SESSION[$_POST['type_nb_ex']]=$nb_ex;
$_SESSION[$_POST['type_rv']]=$rv;
$_SESSION[$_POST['type_finitions']]=$finitions;
if ($submit2){
header("Location: index_etape3.php?".session_name()."=".session_id());
}
?>
<form action="<? $PHP_SELF; ?>" method="post">
[...]
Et pour l'affichage de mes variables dans index_etape2.php :
par exemple :
<? echo $_SESSION['type_nb_pages']; ?>
si vous voulez tester : http://www.clonecopy.net/php/devis/index_etape1.php
Merci d'avance !
---------------
Freed102