Nouvelles:

SMF - Just Installed!

Menu principal

Identification

Démarré par jlsviro, Mai 07, 2022, 12:29 PM

« précédent - suivant »

jlsviro

Message de VMichalak 26 Mars 2008, 14:37
Bonjour,
J'avais fait un systeme d'identification par sessions mais malheuresement plus possible d'accédée au calendrier.

EXPLICATION :

Index.php
<form action="login.php" method='post'>
<table align="center" border="0">
  <tr>
    <td>Login :</td>
    <td><input type="text" name="login" maxlength="250"></td>
  </tr>
  <tr>
    <td>Password</td>
    <td><input type="password"name="pass" maxlength="10"></td>
  </tr>
  <tr>
    <td colspan="2" align="center"><input type="submit" value="log in"></td>
  </tr>
</table>
</form>

login.php
<?
// on se connecte à MySQL
$db = mysql_connect('sql.free.fr', 'xxxx', 'xxxx');

// on sélectionne la base
mysql_select_db('shimazu',$db);


if(isset($_POST) &amp;&amp; !empty($_POST['login']) &amp;&amp; !empty($_POST['pass'])) {
  extract($_POST);
  // on recupère le password de la table qui correspond au login du visiteur
  $sql = "select pwd from tbl_user where login='".$login."'";
  $req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());

  $data = mysql_fetch_assoc($req);

  if($data['pwd'] != $pass) {
    echo '<p>Mauvais login / password. Merci de recommencer</p>';
    include('index.php'); // On inclut le formulaire d'identification
    exit;
  }
  else {
    session_start();
    $_SESSION['login'] = $login;
   
    echo 'Vous êtes bien connecté : <a href="/site/index.php">Cliquez ici<a>';
  }   
}
else {
  echo '<p>Vous avez oublié de remplir un champ.</p>';
   include('index.php'); // On inclut le formulaire d'identification
   exit;
}


?>

Parametres.php [Modifier]
<?
session_start();

if(!isset($_SESSION['login'])) {
  echo 'Vous n\'êtes pas autoris´ à acceder à cette zone';
  include('login.htm');
  exit;
}
?> 
<?php

// Carriage return
$cr "\r\n"// version Windows
//$cr = "\n";   // version Unix
//$cr = "\r";   // version Macintosh

// Taille maxi d'une image à télécharger
$taille_maxi_image 150*1024// 150Ko

// Chemins des images
$chemin_images_util 'Images_Util/';
$chemin_images 'Images/';

// Chemin des Gedcom
$chemin_Gedcom 'Gedcom/';

// Chemin du site
//Ajout automatique de sous-répertoire
$ajout '';
$self  $_SERVER['PHP_SELF'];
$dpos  strrpos($self"/");
if (
$dpos !== false) {
  if (
$dpos 0) {
    
$ajout substr($self,1,$dpos);
  }
}
$RepGenSiteLoc 'http://shimazu.free.fr/'.$ajout;
$RepGenSiteInt '';

// Nombre de génération maximum à remonter pour la recherche de cousinage
// sur internet ou en local
$max_gen_int 5;
$max_gen_loc 10;

// Police pour les graphiques
$FontLoc 'c:/windows/Fonts/Arial.ttf';
$FontInt './arial.ttf';

// Insertion ou non d'un enregistrement dans la table des compteurs
// pour les sites ne disposant pas de statistiques ; valeur : 0/1
$Insert_Compteur 1;

// Fichier d'export GenWeb
$nom_fic_GenWeb 'export_GenWeb.sql';

// Délai de la redirection en secondes
$Delai_Redir 2;
$init 0;

// Affichage des requêtes ==> mode debug
$aff_req 0;

// Préfixe des tables
$pref_tables '';

// Fichier des icones
$fic_icones 'Icones.php';

// Couleur de fond de zone saisissable obligatoire
//$coul_oblig = '#FEFFBC';
$style_z_oblig ' style="background-color:#FEFFBC" ';


?>

 x) A la suite de ma modification on ne peux plus sauvegarder (enfin si on peux mais un GROS message d'erreur PHP apparait) et modifier la date de naissance et de deces d'un profil

 :) Il y a un probleme car la session est du coups ouverte 2 fois dans certain fichier (Je sais, Je sais je parle chinois, mais ceux qui font un peu de PHP me comprendront  :lol: ) DONC ERREUR.

 :O J'aimerais que l'identification et un panneau d'administration apparaisse pour la prochaine version

 :loupe: Je suis prêt à faire tous le code d'identification à une seule condition : la liste de tous les fichiers qui font appelle à une sessions

 :=) Désolé pour mon post de 200 Km

Message de jlsviro 26 Mars 2008, 22:09
Bonsoir,
Sur le principe même d'avoir un panel d'identification, pourquoi pas, mais il faudra revoir pas mal de pages. Il faut en discuter et voir sur des exemples concrets ce que ceci permettrait.
Inclure ceci dans la page parametres.php vient effectivement en conflit avec les ouvertures de session présentes dans un certain nombre de pages (que se passe-t-il si vous ne mettez pas de session start dans parametres.php ?). De plus, j'avais lu que l'ouverture de session devait apparaitre en premier dans le code et la page parametres.php n'est pas appelée tout de suite. Une autre solution pourrait être d'intégrer cela dans gestion_pages.php ; à voir et à discuter, donc.
Donc, pour résumer, c'est à creuser ; pouvez-vous m'envoyer quelques explications complémentaires sur le mail de support (exemples d'utilisation notamment).
Au besoin, il faudra ouvrir un post dans la section développement.
Merci en tous cas de votre proposition.
jean-Luc

PS : je me suis permis de modifier votre post cet après-midi pour supprimer le code utilisateur et mot de passe d'accès à la base de données...

Message de VMichalak 28 Mars 2008, 19:44
Dans quel fichier est enregistrer les paramètres de connexion à la bdd sql ?

Message de jlsviro 28 Mars 2008, 23:26
Les paramètres de connexion sont dans connexion_inc.php.
Jean-Luc

Message de gerard kester 29 Mars 2008, 8:39
Bonjour
Pour simplifier la situation, pourquoi ne pas faire de l'authentification dans le fichier .htaccess qui irait lire le nom des utilisateurs autorisés dans une table MySQL quelconque ? J'utilise cette fonctionnalité pour un site professionnel et ça marche.
De plus, cette solution ne touche aucun script, l'application reste telle quelle.

Message de jlsviro 29 Mars 2008, 16:01
Bonne idée, Gérard. Voilà qui me rappelle certains post que vous aviez mis sur Web4all...
Vous me donnez quelques explications sur ma boite perso ?
Jean-Luc