8791 sujets

Développement web côté serveur, CMS

Bonsoir,

j'ai une page ou j'ai un formulaire de paiement (rentabiliweb) dans cette page bien entendu j'ai des variables de sessions actives et donc une fois les codes inscrit dans le formulaire sa m'envoie sur ma page suivante et sur la page suivante les données de session sont perdues entre le formulaire et la page protégée.

Quelqu'un aurais eu ce problème ?

Merci pour votre aide
Salut,

Es tu sur que session_start() est bien présent au début de ta page avant tout autre chose ?

Ensuite il faut savoir que ton formulaire envoie vers une page rentabiliweb qui elle ensuite redirige vers ton site. Donc la durée de vie des sessions est peu-être une solution. J'ai déjà vu des sites qui ne retenaient pas plus de 2 sec. Page fermé = déconnecté.
Salut merci de m'avoir répondu j'ai donc :

Mon inscription.php ou je suis redirigé si les codes sont bon

/* Dans le fichier conf la session start(); est appeler */
include("../includes/conf.php");
include("../includes/fonctions.php");
 
// Identifiants de votre document
$docId      = *****;
$siteId      = *****;
 
// PHP5 avec register_long_arrays désactivé?
if (!isset($HTTP_GET_VARS)) {
	$HTTP_SESSION_VARS    = $_SESSION;
	$HTTP_SERVER_VARS     = $_SERVER;
	$HTTP_GET_VARS        = $_GET;
}
 
// Construction de la requête pour vérifier le code
 
$query      = 'http://payment.rentabiliweb.com/checkcode.php?';
$query     .= 'docId='.$docId;
$query     .= '&siteId='.$siteId;
$query     .= '&code='.$HTTP_GET_VARS['code'];
$query     .= "&REMOTE_ADDR=".$HTTP_SERVER_VARS['REMOTE_ADDR'];
		$result     = @file($query);
 
if(trim($result[0]) !== "OK") {
header('Location: paiement.php');
exit();
}
 
/* Si l'id a été trouver nous recherchons dans la base de données par rapport a la $_SESSION */
$r = mysql_query("SELECT * FROM `esf_configuration_formule` WHERE id_formule = '".$_SESSION["id_formule"]."';") or die(mysql_error());
$name_formule = mysql_result($r,0,"name");
 
include("../includes/header.php");
 
echo $name_formule;
 
 


Donc bien entendu le $name_formule ne fonctionne pas j'ai donc fait un print de la session et est est vide


echo "<pre>";
print_r($_SESSION);
echo"</pre>";
 


et cela me renvoit array () donc vide Smiley ohwell

J'ai voulu ajouter session_set_cookie_params('3600'); avant session_start(); au cas ou je perdais la session mais pareille
Modifié par subzeros (25 Sep 2010 - 10:51)
if (!isset($HTTP_GET_VARS)) { 
    $HTTP_SESSION_VARS    = $_SESSION; 
    $HTTP_SERVER_VARS     = $_SERVER; 
    $HTTP_GET_VARS        = $_GET; 
} 

pourquoi cette partie-là ? les deux variables sont les mêmes, ont la même valeur à part que la première n'est plus reconnue en php5... Ca ne serait pas de là que vient ton problème ?


en fait, remplace déjà les $HTTP_SESSION_VARS par $_SESSION; les $HTTP_SERVER_VARS par $_SERVER et les $HTTP_GET_VARS par $_GET