Log de gestion sous linux a faire fonctionner sous W7

Eléphanteau du PHP | 19 Messages

23 juin 2012, 19:06

J'avais ca


<?php

/*
Raz variables session gestion
*/

function raz_session(){
session_unregister('ACCES_SAV');
session_unregister('G_EMPLOYE');
session_unregister('R_EMPLOYE');
session_unregister('rubriques');
session_unregister('parties');
session_unregister('G_BLOQUER');
session_unregister('assistance');
}
?>

J'ai mis ca

<?php

/*
Raz variables session gestion
*/

function raz_session(){
unset('ACCES_SAV');
unset('G_EMPLOYE');
unset('R_EMPLOYE');
unset('rubriques');
unset('parties');
unset('G_BLOQUER');
unset('assistance');
}
?>


Pour session start il est bien au début du init.php appelé par l'index

init.php :


<?php
session_start();
/* Giorgio REGNI
* Fichier à include dans chaque page
*/


require ("engine/config.php");
require("../engine/email.php");
require("../engine/errors.php");
require('../engine/class.Time.php');
require("../engine/admin/utility_admin.php");
require("../engine/database.php");
require("../engine/user_management.php");
require("../engine/Smarty/Smarty.class.php");
require("../engine/admin/class.AUTOSQLForm.php");

require ("../engine/panier.php");
require ("../engine/client.php");
require("../engine/class.Commande.php");
require("../engine/calcul_cout_pointages.php");
require("../engine/class.Mois.php");
require("../engine/class.Session.php");
require("../engine/class.Service.php");

/**
* Récupération de l'état de l'assistance pour le cas de connexion à
* distance sans passer par la page d'accueil
*/

if( !$_SESSION["assistance"] );
{
$sql = new DB;
$sql->query("SELECT * FROM gestion");
$sql->next_object();
$_SESSION["assistance"] = $sql->object->assistance;
}

$decalage = 0;
$localtime = mktime()+$decalage;
$time_now = new Time();
$time_now->from_timestamp($localtime);

class MaSmarty extends Smarty {

function MaSmarty() {
global $path,$decalage,$url,$title,$_COMMANDE;

parent::Smarty();
/* Class Constructor. These automatically get set with each new
instance. */
$this->template_dir = concat_dirs($path,"templates");
$this->compile_dir = concat_dirs($path,"templates_c");
$this->config_dir = concat_dirs($path,"configs");
$this->cache_dir = concat_dirs($path,"cache");

$this->caching = false;
$this->assign('url_site',$url);
$this->assign('site_title',$title);
$this->assign('version',$version);
$this->assign('rand',md5(microtime()));
$this->assign('rand1',md5(microtime()+100));
$this->assign('heure',mktime()+$decalage);

}
}
?>


et index.php

<?php

include ("engine/init.php");

session_start();
require_once ("raz_session.php");

//Remise à zéro de la session pour le cas où on passe par le lien Accueil et non Fermer Session

//Raz variables session gestion
raz_session();

admin_verifie_session(false);

$SMARTY = new MaSmarty();

$sql= new DB();

//Gestion du test de connexion
//Test de connectivité internet
$connexion = @shell_exec("ping -w1 www.google.fr");
if (!strpos($connexion,"100% packet loss"))
$SMARTY->assign("connexion","ok");
else
$SMARTY->assign("connexion","pas ok");

$SMARTY->assign("sommaire","oui");//Pour le fond bleu clair

//Gestion de la date de garantie matérielle
$limite_hard=100;
$limite_soft=100;
$sql->query("SELECT maint_hard,
maint_soft,
DATE_FORMAT(DATE_ADD(maint_soft, INTERVAL 1 DAY),'%d/%m/%Y') AS debut_autonomie
FROM gestion");

if($sql->next_row_assoc())
{
$maint_hard_o=$sql->row['maint_hard'];
$maint_soft_o=$sql->row['maint_soft'];
$debut_autonomie=$sql->row['debut_autonomie'];
}
$sql->free();

$maint_hards=explode("-", $maint_hard_o);
$maint_hard=$maint_hards[2]."-".$maint_hards[1]."-".$maint_hards[0];
$maint_softs=explode("-", $maint_soft_o);
$maint_soft=$maint_softs[2]."-".$maint_softs[1]."-".$maint_softs[0];

$jour_hard=$maint_hards[2];
$mois_hard=$maint_hards[1];
$an_hard=$maint_hards[0];
$timestamp_hard = mktime(0, 0, 0, $mois_hard, $jour_hard, $an_hard);
$timestamp2_hard = time();
$diff_hard = floor(($timestamp_hard - $timestamp2_hard) / (3600 * 24));
$jour_soft=$maint_softs[2];
$mois_soft=$maint_softs[1];
$an_soft=$maint_softs[0];
$timestamp_soft = mktime(0, 0, 0, $mois_soft, $jour_soft, $an_soft);
$timestamp2_soft = time();
$diff_soft = floor(($timestamp_soft - $timestamp2_soft) / (3600 * 24));
//Calcul des jours restant jusqu'à l'échéance du contrat d'assistance
if($diff_soft<=30 && $diff_soft>=16)
{ // 30 JOURS RESTANT
$limite_soft=1;
$affiche_perte_assistance="oui";
}
elseif($diff_soft<=15 && $diff_soft>=8)
{ // 15 JOUR RESTANT
$limite_soft=2;
$affiche_perte_assistance="oui";
}
elseif($diff_soft<=7 && $diff_soft>=0)
{ // 7 JOUR RESTANT
$limite_soft=3;
$affiche_perte_assistance="oui";
}
elseif($diff_soft<0)
{ // ECHUS
$limite_soft = 0;
//Passage en version non assistée
$sql->query("UPDATE gestion
SET assistance = 'non',
version = 'Sans Assistance'");
$sql->free();
}
if ($diff_hard < 0 )
$limite_hard = 0;

$SMARTY->assign('maint_hard',$maint_hard);
$SMARTY->assign('maint_soft',$maint_soft);
$SMARTY->assign('limite_hard',$limite_hard);
$SMARTY->assign('limite_soft',$limite_soft);
$SMARTY->assign('diff_soft',$diff_soft);
$SMARTY->assign('diff_hard',$diff_hard);
$SMARTY->assign('debut_autonomie',$debut_autonomie);

//Données du formulaire vierge
$sql->query("SELECT nom FROM personnel WHERE fonction IN ('manager','assistant manager') AND actif LIKE 'oui' ORDER BY nom");
while( $sql->next_row_assoc() ) {
$SMARTY->append('identifiants',$sql->row['nom']);
}

//Traitement du formulaire
if (isset($_GET['refuse']))
{
$SMARTY->assign("refuse",true);
}

if (isset($_GET['employe']))
{
$SMARTY->assign('employe',$_GET['employe']);
}
//Avertissement de la perte de l'assistance sous 30 jours de l'échéance
if ($_GET)
$perte_assistance_affichee = 1;
else
$perte_assistance_affichee = 0;
if ($affiche_perte_assistance == "oui" && $perte_assistance_affichee == 0)
{
$perte_assistance_affichee = 1;
$SMARTY->display("perte_assistance.html");
}
else
$SMARTY->display("index.html");

?>

ViPHP
xTG
ViPHP | 7331 Messages

23 juin 2012, 19:24

Il faut faire les unset ainsi :
unset($_SESSION['ACCES_SAV']);
Pour le session_start() le problème venait qu'il était après l'inclusion du fichier init alors que ce dernier utilise des variables de session.
Donc supprimes celui du index.php

Eléphanteau du PHP | 19 Messages

23 juin 2012, 19:58

Bon là j'ai du coup nettement moins d'erreurs...

<b>Notice</b>: Undefined index: assistance in <b>C:\Program Files (x86)\EasyPHP-5.3.9\www\MPO\gestion\engine\init.php</b> on line <b>31</b><br />
<br />
<b>Notice</b>: Undefined variable: version in <b>C:\Program Files (x86)\EasyPHP-5.3.9\www\MPO\gestion\engine\init.php</b> on line <b>60</b><br />
<br />
<b>Notice</b>: Undefined variable: affiche_perte_assistance in <b>C:\Program Files (x86)\EasyPHP-5.3.9\www\MPO\gestion\index.php</b> on line <b>116</b><br />

Je ne pense pas qu'il s'agisse de variables de session qui m'empechent d accéder à la gestion.

C est main.php qui affiche les rubriques :
<?php

/*
* Ouverture d'une session d'admin
*
*
*/
include ("engine/init.php");
unset( $_SESSION['G_TYPE_AUTRE'] );

admin_verifie_session();

$sql=new DB();

$SMARTY = new MaSmarty();

$SMARTY->assign("sommaire","oui");

$sql->query("SELECT * FROM pizza");
/*Partie spécifique à Quick chicken*/
if($sql->next_row_assoc())
$SMARTY->assign("pizzas","oui");

//Récupération des en-têtes du tableau du sommaire

$sql->query("SELECT partie.id AS id_partie,
partie.nom AS partie
FROM partie,
module
WHERE module.nom = '$module'
AND partie.module = module.id
ORDER BY affichage");
$SMARTY->assign("largeur_partie",100/$sql->numrows);
while($sql->next_row_assoc())
$_SESSION['parties'][$sql->row["id_partie"]] = $sql->row["partie"];

$SMARTY->assign("parties",$_SESSION['parties']);
$SMARTY->display("main.html");
?>

Dans la bdd il y a la liste de ces rubriques mais sans niveau d acces. juste l'id, la partie et l'ordre d'affichage.
Le personnel est divisé en manager, assistant et employés. Selon leur niveau, ils ont droit à l affichage de ces rubriques.

J'arrive bien a me logger dans la gestion avec mon mot de passe mais les rubriques ne s'affichent pas.
Que faire ?

ViPHP
xTG
ViPHP | 7331 Messages

23 juin 2012, 21:31

Faut chercher d'où proviennent ces variables à partir d'une recherche dans les autres fichiers.
Si ces variables étaient bien affichées elles doivent provenir d'un tableau super-global($_SESSION, $_COOKIE, $_POST, $_GET).

Eléphanteau du PHP | 19 Messages

23 juin 2012, 23:54

Rechercher dans les fichiers quels variables ? $partie ? C est le main.php
Un tableau super-global ça veut dire quoi ?

ViPHP
xTG
ViPHP | 7331 Messages

23 juin 2012, 23:59

Cela veut dire que ce tableau est accessible partout dans le code(ce n'est pas le cas des variables que tu créés) et que c'est PHP qui la créé.
Il te faut donc rechercher les mots clés :
- assistance
- version
- affiche_perte_assistance
Pour trouver d'où elles proviennent, une variable d'url, une variable de session, une variable d'un formulaire, ect.
Et ce afin de la remplacer par son véritable nom.

Eléphanteau du PHP | 19 Messages

24 juin 2012, 19:39

En effet, j'ai trouvé ca :

//Stockage des paramètres de la gestion commune à tous les modules en
//session
$sql->query("SELECT * FROM gestion");
$sql->next_object();
$_SESSION["gestion"] = $sql->object;
$_SESSION["assistance"] = $sql->object->assistance;
//Stockage des versions
$versions = array('log'=>'', 'bdd'=>'');
foreach( $versions as $type=>$version ){
$sql->query("SELECT MAX(id) id FROM version WHERE type LIKE '" . $type . "'");
$sql->next_object();
$sql->query("SELECT num FROM version WHERE id = " . $sql->object->id);
$sql->next_object();
$versions[$type] = $sql->object->num;
}
$_SESSION["versions"] = $versions;

dans le fichier config.php inclu dans l'index.php de l'accueil.
Pour assistance je vois pas le pb, pour version il est au pluriel a ce moment là, puis au singulier quand on est ds l'init.php de la gestion.

ViPHP
xTG
ViPHP | 7331 Messages

24 juin 2012, 20:18

Donc ce n'est pas le même, car la configuration ne permet pas un renommage pluriel singulier. :P
A noter que les variables de session ne sont actualisées qu'à la prochaine requête (serveur).
Donc si le cache Smarty est activé tu as le message d'erreur concernant la première requête quand la variable de session n'avait pas encore été actualisée.
Tentes de désactiver le cache pour voir si ce message disparaît après rafraichissement de la page.

Eléphanteau du PHP | 19 Messages

24 juin 2012, 21:00

Et comment on fait ça ? C est quoi le cache smarty.
Je te rappelle mon pb, l'affichage des menus est conditionné par le login et là, quelque soit le login, je n'ai pas de menu qui s'affiche.

C est le fichier main.php qui affiche les menus :

<?php

/*
* Ouverture d'une session d'admin
*
*
*/
include ("engine/init.php");
unset( $_SESSION['G_TYPE_AUTRE'] );

admin_verifie_session();

$sql=new DB();

$SMARTY = new MaSmarty();

$SMARTY->assign("sommaire","oui");

$sql->query("SELECT * FROM pizza");
/*Partie spécifique à Quick chicken*/
if($sql->next_row_assoc())
$SMARTY->assign("pizzas","oui");

//Récupération des en-têtes du tableau du sommaire

$sql->query("SELECT partie.id AS id_partie,
partie.nom AS partie
FROM partie,
module
WHERE module.nom = '$module'
AND partie.module = module.id
ORDER BY affichage");
$SMARTY->assign("largeur_partie",100/$sql->numrows);
while($sql->next_row_assoc())
$_SESSION['parties'][$sql->row["id_partie"]] = $sql->row["partie"];

$SMARTY->assign("parties",$_SESSION['parties']);
$SMARTY->display("main.html");
?>

En gros tant qu'il y a des "parties" il les affiche. Ne puis je pas tout simplement retirer le filtre des droits issus des logins ?

D'autre part, tout ce qui tourne autour de l'assistance l'était a des fins commerciales. Histoire de rappeler de payer. Il n y a plus d'interlocuteur, donc plus d'assistance, je peux donc virer toutes ces instructions... non ?

Eléphanteau du PHP | 19 Messages

24 juin 2012, 21:13

Bon,
J'ai viré ce qui est assistance.
Ne me reste que l erreur de la version.

L'index de la gestion c est :

<?php
include ("engine/init.php");
require_once ("raz_session.php");
//Remise à zéro de la session pour le cas où on passe par le lien Accueil et non Fermer Session

//Raz variables session gestion
raz_session();

admin_verifie_session(false);

$SMARTY = new MaSmarty();

$sql= new DB();

//Gestion du test de connexion
//Test de connectivité internet
$connexion = @shell_exec("ping -w1 www.google.fr");
if (!strpos($connexion,"100% packet loss"))
$SMARTY->assign("connexion","ok");
else
$SMARTY->assign("connexion","pas ok");

$SMARTY->assign("sommaire","oui");//Pour le fond bleu clair


//Données du formulaire vierge
$sql->query("SELECT nom FROM personnel WHERE fonction IN ('manager','assistant manager') AND actif LIKE 'oui' ORDER BY nom");
while( $sql->next_row_assoc() ) {
$SMARTY->append('identifiants',$sql->row['nom']);
}

//Traitement du formulaire
if (isset($_GET['refuse']))
{
$SMARTY->assign("refuse",true);
}

if (isset($_GET['employe']))
{
$SMARTY->assign('employe',$_GET['employe']);
}

$SMARTY->display("index.html");

?>

Je ne vois pas comment il valide le mdp ni où il induit le tri dans les "parties" à afficher.

ViPHP
xTG
ViPHP | 7331 Messages

24 juin 2012, 21:28

Ce serait cette fonction qui vérifie si l'utilisateur est connecté ou non :
admin_verifie_session();
Regardes ce que contient la fonction.

Et pour vérifier que ce n'est pas un problème de rafraichissement d'array de session tu peux modifier le code d'affichage des catégories :
$tab = array();
while($sql->next_row_assoc()){
  $_SESSION['parties'][$sql->row["id_partie"]] = $sql->row["partie"];
  $tab['parties'][$sql->row["id_partie"]] = $sql->row["partie"];
}

$SMARTY->assign("parties",$tab['parties']);
Pour le cache il suffit de regarder dans la doc de Smarty, c'est très bien expliqué.

Eléphanteau du PHP | 19 Messages

24 juin 2012, 22:26

Donc avec $tab = array(); il n'affiche pas la page du tout. Avant j'avais les colonnes sont les liens vers les rubriques (ou parties).

Tu me dis de regarder la fonction admin_verifie_session. Normalement on doit trouver ça dans un fichier class non ? Je ne trouve rien de tel avec cette fonction. En plus avec W7 les recherches de contenus dans les fichiers... pas top.

Enfin concernant SMARTY je vais chercher.

Eléphanteau du PHP | 19 Messages

24 juin 2012, 22:52

Concernant le cache de SMARTY je ne trouve que des $this->caching = false;

sous cette forme là :

class MaSmarty extends Smarty {

function MaSmarty() {
global $path,$decalage,$url,$title,$_COMMANDE;

parent::Smarty();
/* Class Constructor. These automatically get set with each new
instance. */
$this->template_dir = concat_dirs($path,"templates");
$this->compile_dir = concat_dirs($path,"templates_c");
$this->config_dir = concat_dirs($path,"configs");
$this->cache_dir = concat_dirs($path,"cache");

$this->caching = false;
$this->assign('url_site',$url);
$this->assign('site_title',$title);
$this->assign('version',$version);
$this->assign('rand',md5(microtime()));
$this->assign('rand1',md5(microtime()+100));
$this->assign('heure',mktime()+$decalage);

}

Eléphanteau du PHP | 19 Messages

24 juin 2012, 22:53

Sinon j ai trouvé le script d ouverture de la session et de la récupération des noms de rubriques autorisées :

<?php
/*
* Ouverture d'une session d'admin
*
*
*/

include ("engine/init.php");
session_start();

$sql=new DB();
//Récupération de l'assistance
$sql->query("SELECT assistance FROM gestion");
$sql->next_row_assoc();
$_SESSION['assistance'] = $sql->row['assistance'];

//Récupération des couples sav
$sql->query("USE assistance");
$sql->query("SELECT * FROM acces");
while ( $sql->next_object() )
$_SESSION['ACCES_SAV'][] = $sql->object;

//Retour à la bdd par défaut
$sql->query("USE mpo_php");

$ok = false;

$mot_passe = addslashes( $_POST['mot_passe'] );

if( $_POST['type_saisie'] == 'choisie' )
$employe = addslashes( $_POST['nom_employe'] );
elseif( $_POST['type_saisie'] == 'libre' )
$employe = addslashes( $_POST['saisie_libre'] );


/* TODO: vérifier l'ouverture de caisse*/
if( isset( $mot_passe ) and isset( $employe ) )
{
$sav = false;
foreach ( $_SESSION['ACCES_SAV'] as $accès_sav )
{
if ( $employe == $accès_sav->id && ( crypt ( $mot_passe , $accès_sav->mot_passe ) == $accès_sav->mot_passe ) )
$sav = $accès_sav;
}
if( $sav )
{
/* Connection en tant que développeur */
$_SESSION['G_EMPLOYE']='deve';
$_SESSION['R_EMPLOYE']='deve';
//Récupération des rubriques du module et infos associées
$sql->query("SELECT partie.id AS id_partie,
partie.nom AS partie,
rubrique.id AS id_rubrique,
rubrique.nom AS rubrique,
fichier
FROM rubrique,
module,
partie
WHERE rubrique.partie = partie.id
AND partie.module = module.id
AND module.nom = '$module'
AND rubrique.chargement LIKE 'oui'
ORDER BY partie.affichage,rubrique.affichage");
while ($sql->next_row_assoc()){
$_SESSION["rubriques"][$sql->row["id_partie"]][$sql->row["id_rubrique"]] = array("nom"=>htmlentities($sql->row["rubrique"]),"fichier"=>$sql->row["fichier"]);
}
$ok=true;
}
elseif( $employe == "Dirigeant" )
{
if($_SESSION['assistance'] == "oui")
{
$sql->query("SELECT code_distant
FROM gestion");
$pass="";
if ($sql->next_row_assoc())
{
$pass=$sql->row['code_distant'];
}

if( $mot_passe == $pass)
{
/* Connection en tant que Dirigeant */
$_SESSION['G_EMPLOYE']='Dirigeant';
$_SESSION['R_EMPLOYE']='Dirigeant';
//Récupération des rubriques de la gestion et infos associées
$sql->query("SELECT partie.id AS id_partie,
partie.nom AS partie,
rubrique.id AS id_rubrique,
rubrique.nom AS rubrique,
fichier
FROM rubrique,
module,
partie
WHERE rubrique.partie = partie.id
AND partie.module = module.id
AND module.nom = '$module'
AND rubrique.chargement LIKE 'oui'
ORDER BY partie.affichage,rubrique.affichage");
while ($sql->next_row_assoc()){
$_SESSION["rubriques"][$sql->row["id_partie"]][$sql->row["id_rubrique"]] = array("nom"=>$sql->row["rubrique"],"fichier"=>$sql->row["fichier"]);
}
$ok=true;
}
}
elseif($_SESSION['assistance'] == "non")
{
$sql->query("SELECT code_distant
FROM gestion");
$pass="";
if ($sql->next_row_assoc())
{
$pass=$sql->row['code_distant'];
}

if( $mot_passe == $pass)
{
/* Connection en tant que Dirigeant */
$_SESSION['G_EMPLOYE']='Dirigeant';
$_SESSION['R_EMPLOYE']='Dirigeant';
//Récupération des rubriques de la gestion et infos associées
$sql->query("SELECT partie.id AS id_partie,
partie.nom AS partie,
rubrique.id AS id_rubrique,
rubrique.nom AS rubrique,
rubrique.assistance,
fichier
FROM rubrique,
module,
partie
WHERE rubrique.partie = partie.id
AND partie.module = module.id
AND module.nom = '$module'
AND rubrique.assistance = 'non'
AND rubrique.chargement LIKE 'oui'
ORDER BY partie.affichage,rubrique.affichage");
while ($sql->next_row_assoc()){
$_SESSION["rubriques"][$sql->row["id_partie"]][$sql->row["id_rubrique"]] = array("nom"=>$sql->row["rubrique"],"fichier"=>$sql->row["fichier"]);
}
$ok=true;
}
}
}
else
{
if($_SESSION['assistance'] == "oui")
{
if ($sql->query("SELECT id
FROM personnel
WHERE nom LIKE '$employe'
AND mot_passe='$mot_passe'
AND fonction IN ('manager','assistant manager')
AND actif = 'oui'"))
{
if ($sql->next_row_assoc())
{
$employé = $sql->row['id'];
$_SESSION['G_EMPLOYE']=$sql->row['id'];
$_SESSION['R_EMPLOYE']=$sql->row['id'];
$ok=true;
//Récupération des noms de rubriques autorisées et de leur partie associées
$sql->query("SELECT partie.id AS id_partie,
partie.nom AS partie,
rubrique.id AS id_rubrique,
rubrique.nom AS rubrique,
fichier
FROM rubrique,
personnel,
gestion_acces,
module,
partie
WHERE personnel.id = $employé
AND rubrique.id = gestion_acces.rubrique
AND personnel.id = gestion_acces.employe
AND rubrique.partie = partie.id
AND partie.module = module.id
AND module.nom = '$module'
AND rubrique.chargement LIKE 'oui'
ORDER BY partie.affichage,rubrique.affichage");
while ($sql->next_row_assoc()){
$_SESSION["rubriques"][$sql->row["id_partie"]][$sql->row["id_rubrique"]] = array("nom"=>$sql->row["rubrique"],"fichier"=>$sql->row["fichier"]);
}
}
}
}
elseif($_SESSION['assistance'] == "non")
{
if ($sql->query("SELECT id
FROM personnel
WHERE nom LIKE '$employe'
AND mot_passe='$mot_passe'
AND fonction IN ('manager','assistant manager')
AND actif = 'oui'"))
{
if ($sql->next_row_assoc())
{
$employé = $sql->row['id'];
$_SESSION['G_EMPLOYE']=$sql->row['id'];
$_SESSION['R_EMPLOYE']=$sql->row['id'];
$ok=true;
//Récupération des noms de rubriques autorisées et de leur partie associées
$sql->query("SELECT partie.id AS id_partie,
partie.nom AS partie,
rubrique.id AS id_rubrique,
rubrique.nom AS rubrique,
rubrique.assistance,
fichier
FROM rubrique,
personnel,
gestion_acces,
module,
partie
WHERE personnel.id = $employé
AND rubrique.id = gestion_acces.rubrique
AND personnel.id = gestion_acces.employe
AND rubrique.partie = partie.id
AND partie.module = module.id
AND module.nom = '$module'
AND rubrique.assistance = 'non'
ORDER BY partie.affichage,rubrique.affichage");
while ($sql->next_row_assoc()){
$_SESSION["rubriques"][$sql->row["id_partie"]][$sql->row["id_rubrique"]] = array("nom"=>$sql->row["rubrique"],"fichier"=>$sql->row["fichier"]);
}
}
}
}
}
}
if (!($ok))
{
header("Location: index.php?employe={$employe}&refuse=1\n\n");
die();
}

/*
** Session employée crée
*/

/**
* Vérification du délai restant jusqu'à la prochaine campagne
*/

$sql->query("SELECT IF((UNIX_TIMESTAMP(echeance_coupons) - UNIX_TIMESTAMP()) / 604800 <= 3 ,'oui','non'),UNIX_TIMESTAMP(echeance_coupons) FROM gestion");
$sql->next_row();
$période_rappel = $sql->row[0];
$début_prochaine_campagne = $sql->row[1];
$sql->free();
$_SESSION['G_BLOQUER']=false;
header("Location: main.php?rappel=$période_rappel&debut=$début_prochaine_campagne\n\n");
?>

ViPHP
xTG
ViPHP | 7331 Messages

25 juin 2012, 10:13

Encore un session_start() qui se balade ici apparemment.
Tu l'as déplacé dans le fichier init.php si je ne m'abuse, donc supprime les autres sur les pages où sont inclus ce fichier.

Pour de la recherche dans les fichiers plusieurs éditeurs de texte le font, le plus courant étant Notepad++.

Concernant le cache Smarty c'est bien cela, et donc il n'est pas actif quand cet attribut est mis à false.

Concernant la page blanche... Je ne vois pas en quoi ma modification t'apporterai cela. O_o
Au pire il devrait y avoir une erreur.