Grosses mises à jour de shipmembers.php et adminstration.php pour revoir le process d'invitation sur un bateau mais aussi les sécurités de base sur les fichiers index.php et les fonctions_html.php

This commit is contained in:
2026-10-05 13:48:45 +00:00
parent 7146bce248
commit b7cb39bbe6
10 changed files with 2752 additions and 2511 deletions
+11 -139
View File
@@ -1,139 +1,11 @@
<?php
session_start(); // Ouverture de session (avant tout autre envoi au client!!!)
require_once("../config/config.php");
Ouverture_bdd(); // Connexion à MySql
// A SUPPRIMER !!
//if (!isset($_SESSION['type_utilisateur'])) $_SESSION['type_utilisateur'] = TYPE_UTILISATEUR_PROFESSIONNEL; //TYPE_UTILISATEUR_INCONNU;
//--------------------------------------------------------------------------------------------------
// Init des variables de session générales :
if (!isset($_SESSION['acces_valide'])) $_SESSION['acces_valide'] = false;
if (!isset($_SESSION['display_menu'])) $_SESSION['display_menu'] = false;
if (!isset($_SESSION['langue'])) $_SESSION['langue'] = 'FR'; // Valeur par défaut
if (!isset($_SESSION['shipmember']['Cle_primaire'])) $_SESSION['shipmember']['Cle_primaire'] = 0;
if (!isset($_SESSION['shipmember']['Prenom'])) $_SESSION['shipmember']['Prenom'] = "";
if (!isset($_SESSION['shipmember']['Nom'])) $_SESSION['shipmember']['Nom'] = "";
if (!isset($_SESSION['shipmember']['Entreprise'])) $_SESSION['shipmember']['Entreprise'] = "";
if (!isset($_SESSION['shipmember']['Rue'])) $_SESSION['shipmember']['Rue'] = "";
if (!isset($_SESSION['shipmember']['Code_postal'])) $_SESSION['shipmember']['Code_postal'] = "";
if (!isset($_SESSION['shipmember']['Ville'])) $_SESSION['shipmember']['Ville'] = "";
if (!isset($_SESSION['shipmember']['ID_Pays'])) $_SESSION['shipmember']['ID_Pays'] = 75; // FR
if (!isset($_SESSION['shipmember']['Telephone'])) $_SESSION['shipmember']['Telephone'] = "";
if (!isset($_SESSION['shipmember']['Email'])) $_SESSION['shipmember']['Email'] = "";
if (!isset($_SESSION['shipmember']['Commentaires'])) $_SESSION['shipmember']['Commentaires'] = '';
if (!isset($_SESSION['shipmember']['Niveau_acces'])) $_SESSION['shipmember']['Niveau_acces'] = '';
if (!isset($_SESSION['droits_acces'])) $_SESSION['droits_acces'] = 0;
if (!isset($_SESSION['bateau_shipmember'])) $_SESSION['bateau_shipmember']['ID_Bateau'] = '';
if (!isset($_SESSION['bateau_shipmember'])) $_SESSION['bateau_shipmember']['Niveau_acces'] = '';
if (!isset($_SESSION['pdf']['src'])) $_SESSION['pdf']['src']['Niveau_acces'] = '';
if (!isset($_SESSION['modifier_texte'])) $_SESSION['modifier_texte'] = 0;
// if (!isset($_SESSION['shipmember']['code_acces'])) $_SESSION['shipmember']['code_acces'] = $_GET['code_acces'];
//--------------------------------------------------------------------------------------------------
// Recherche des paramètres de configuration générale pour mise à jour des variables de session associées :
$requete = 'SELECT Nom, Valeur FROM TB_Configuration';
$reponse = Requete_bdd($requete, __FILE__, __LINE__);
while ($donnees = Recherche_ligne_bdd($reponse)) // boucle sur tous les enregistrements de la table
{
switch($donnees['Nom'])
{
case "Langue_par_defaut":
{
$_SESSION['langue'] = $donnees['Valeur'];
break;
}
default :
{
$_SESSION['Config__'.$donnees['Nom'].''] = $donnees['Valeur'];
break;
}
}
}
Liberation_jeu_de_resultat_bdd($reponse);
//--------------------------------------------------------------------------------------------------
// Mise à jour des ID de langue en fonction du prefixe (évite un accès à quasiment chaque requête) :
$requete = 'SELECT ID, Prefix FROM TB_Langues';
$reponse = Requete_bdd($requete, __FILE__, __LINE__);
while ($donnees = Recherche_ligne_bdd($reponse))
{
$_SESSION['id_langue'][''.$donnees['Prefix'].''] = $donnees['ID'];
}
Liberation_jeu_de_resultat_bdd($reponse);
Fermeture_bdd(); // Déconnexion de MySQL
//--------------------------------------------------------------------------------------------------
// Recherche des textes à utiliser sur les différentes pages et dans la langue en cours
// Attention : doit être rechargé à chaque fois qu'un texte est modifié dans la base
// Attention 2 : doit être rechargé à chaque fois qu'on change de langue
chargement_langue();
//--------------------------------------------------------------------------------------------------
// Affichage des informations système dans le cas d'une demande VERBOSE :
if ((!PRODUCTION) AND (isset($_GET['verbose'])))
{
Entete_page_html();
echo '<div id="Index">';
echo '<table>
<thead>
<tr>
<th>Nom de la variable</th>
<th>Valeur</th>
</tr>
</thead>
<tbody>';
// Affichage des variables de session :
echo '<tr style="line-height:40px;"><td colspan=2><strong>Variables de session</strong></tr>';
foreach ($_SESSION as $k=>$v)
{
if ($k == "db") continue; // Car la valeur stockée est un objet de type "db" qui plante l'affichage....
echo '<tr>
<td>'.$k.'</td>
<td>'.htmlspecialchars(is_array($v) ? json_encode($v) : $v).'</td>
</tr>';
}
// Affichage des variables du serveur :
echo '<tr style="line-height:40px;"><td colspan=2><strong>Variables du serveur</strong></tr>';
foreach ($_SERVER as $k=>$v)
{
echo '<tr>
<td>'.$k.'</td>
<td>'.htmlspecialchars(is_array($v) ? json_encode($v) : $v).'</td>
</tr>';
}
echo '</tbody>
</table>';
echo '<div class="boutons_selection">
<a title="Accéder au logiciel..." href="shipmembers.php">Continuer</a>
<a title="Remettre à zéro toutes les variables de session..." href="shipmembers.php?action=deconnexion">Déconnexion</a>
</div>';
echo '</div>';
echo '</body>';
echo '</html>';
}
else header('Refresh: 0; URL=shipmembers.php'); // Une fois que les variables de version sont chargées
// else header('Refresh: 0; URL=accueil.php'); // Une fois que les variables de version sont chargées
<?php
//************************************************************************************************************
// index.php - Point d'entrée du site. L'initialisation de la session, auparavant faite ici, est désormais assurée
// par Init_session() pour TOUTE page (une page ouverte directement fonctionne aussi - synthèse §47).
//************************************************************************************************************
require_once("../config/config.php");
Init_session(basename($_SERVER['SCRIPT_NAME']));
header('Location: shipmembers.php');
exit();