Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2900 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Site intranet

 


 Mot :   Pseudo :  
 
 Page :   1  2
Page Précédente
Auteur Sujet :

Site intranet

n°193923
dpro
Gentil Opticien
Posté le 12-08-2002 à 11:29:29  profilanswer
 

Bonjour,
je débute totalement en php-mysql et j'aurais aimé developer un site intranet avec une gestion spécifique des utilisateurs (plusieurs niveaux d'acces tels que, l'admin, qui peut tout modifier, tout voir, tout effacer (GOD :pt1cable: ),la direction generale, qui voit tout, [...] et les autres qui ne voient que le reglement intérieur, les news ou autre)
le truc c'est qu'il faudrait pouvoir faire en sorte que la secretaire(mignonne mé un toutipeu conne !!lol) puisse simplement ouvrir son navigateur, se loguer, et poster un article dans une catégorie choisie....
je sais pas du tt par ou commencer, si vs avez qq idées je vous en serait reconnaissant  :jap:  
merki

mood
Publicité
Posté le 12-08-2002 à 11:29:29  profilanswer
 

n°193960
leirn
A.D.I.D.A.S.
Posté le 12-08-2002 à 11:53:18  profilanswer
 

j'en ai deja fait kkes uns...
si tu debute a fond, tu trouvera pas mal de chose sur des sites tels que www.phpdebutant.com
 
un serveur apache, php et mysql avec... poster les messages tu met soit un forum (agora, phpbb par exemple), ou plus betement un truc ressemblant a un serveur de news, yen a plein des deja fait partout


---------------
"Je brandirai une épée d'orichalque, je m'assouvirai sur des Templiers." | "Avec dans son sillage l'Ombre du Diable, Leirn appelait les morts pour une danse macabre et déchainaît les horreurs de la nuit..."
n°194048
dpro
Gentil Opticien
Posté le 12-08-2002 à 14:24:48  profilanswer
 

mon premier probleme vient des diff niveaux d'utilisateurs...
-----------------------------------------------------------
par ex:
 TOTO
 TATA
 TATI
  ont le droit de voir X choses
 
 TUTU
 TUTI
  ont le droit de voir X+Y choses
 
 TÉTÉ
  a le droit de voir l'ensemble des choses
-----------------------------------------------------------
moi je ferais une table pour chaque niveau de "sécurité", mais comment faire lors du login, pour qu'avec des noms d'utilisateurs <> ont puisse voir la mm chose

n°194097
Sebastien
Posté le 12-08-2002 à 15:11:47  profilanswer
 

Tu fais unte table avec de tes membres avec un chiffre a coté par exemple 0 pour admin 1 pour la rh etc...
apres tu as ca :
Si la personne a un chifre <2 alors ca tu l'affiches
Si la personne a le chiffre 0 ca tu peux l afficher aussi
 
etc etc

n°195053
dpro
Gentil Opticien
Posté le 14-08-2002 à 10:04:45  profilanswer
 

oki g a peu pres compris, mais comment je fait pour pouvoir afficher seulement certaines parties, comment faut il que j'organise mon script(dsl d'ê boulet, mé fo bien passer par la qqfois :s [:wouaf] )
merki

n°195055
LexTuhor
Posté le 14-08-2002 à 10:14:11  profilanswer
 

Les includes

n°195063
dpro
Gentil Opticien
Posté le 14-08-2002 à 10:18:24  profilanswer
 

dakor, v essayer!
mais si on fait plusieurs includes de fichiers html diff, ça va donner koi?(les fichiers html servant à donner une apparence au site web

n°195066
LexTuhor
Posté le 14-08-2002 à 10:21:06  profilanswer
 

:heink:  
 
Une adresse : http://www.phpdebutant.com
 
Manges déjà leur tutoriaux (ils sont clairs et compréhensible et pas longs), puis reviens nous voir dans quelques jours (une fois que tu auras tout bien assimilé).
 
 :hello:

n°195081
dpro
Gentil Opticien
Posté le 14-08-2002 à 10:37:08  profilanswer
 

erf, je suis censé bosser donc si je lis tt les tuts et kil ya la moitié ki ne me concernent pas, je perds mon temps .. enfin, bon, ça ne peut être ke bénéfique :s

n°195083
LexTuhor
Posté le 14-08-2002 à 10:39:43  profilanswer
 

Vu ta question précédente, je crois que ce sera tout benef  :D

mood
Publicité
Posté le 14-08-2002 à 10:39:43  profilanswer
 

n°195213
dpro
Gentil Opticien
Posté le 14-08-2002 à 14:33:39  profilanswer
 

Code :
  1. <?php
  2. function test_auth($auth)
  3. {
  4.   if($auth==a){
  5.      echo " en administrateur";
  6.     }
  7.  
  8.   elseif($auth==b){
  9.         echo " en direction generale";
  10.      } 
  11.  
  12.   elseif($auth==c){
  13.            echo " en responsable de service";
  14.      } 
  15.   elseif($auth==d){
  16.         echo " en direction";
  17.      } 
  18.   elseif($auth==e){
  19.         echo " en qqn d'autres'";
  20.      } 
  21. }
  22. ?>


 
ce genre de code c tt faux, ou ya un chti peu de bon?

n°195219
LexTuhor
Posté le 14-08-2002 à 14:43:04  profilanswer
 

Non, ce genre de code est très intéressant dans le cas d'un site multilangue par exemple Mais ya mieux :
 
tu fais un tableau :
 
$info = array("php is good !","c'est cool le php","php ist gut","me gusta mucho el php !" );
 
$langue = // 0 (0 = anglais, 1 = français, 2 =allemand, 3 =espagnol)
 
echo $info[$langue];
 
c'est + mieux...  ;)  
 
Toi pour ton problème, c'est plutôt des includes qu'il te faut :
 
Par exemple, le haut de ta page avec <html><head> etc...
 
ensuite un tableau (ou mieux des css) avec à gauche les propositions et à droite le résultat.
 
Genre :
 
ton tableau, et à droite include"page de droite".$no_de_page.


Message édité par LexTuhor le 14-08-2002 à 14:43:38
n°195320
dpro
Gentil Opticien
Posté le 14-08-2002 à 16:56:48  profilanswer
 

des fois ya des trucs ki me depassent (svt mm)

Code :
  1. session_start();
  2.     session_register('login');
  3.    
  4.     echo 'Vous etes bien logué';
  5. //test_auth($auth);
  6.  $rqst = "select auth from tbl_user where login='$login'";
  7.   $auth = mysql_query($rqst) or die ('Erreur SQL !<br>'.$rqst.'<br>'.mysql_error());
  8.  $tablo = mysql_fetch_array;
  9. echo ' ...'.$tablo[$auth].'...';


 
la valeur "$auth. " dans la base est e type enum, on a donc le choix entre a,b,c,d, ou e .
Pour les tests, chaque login renvoi une valeur différente de $auth. quand je me le login "admin", cela devrait retourner, a ? et bien non, cela retourne q


Message édité par dpro le 19-08-2002 à 09:42:29
n°196787
dpro
Gentil Opticien
Posté le 19-08-2002 à 10:08:55  profilanswer
 

help pliz :jap:

n°196930
ratibus
Posté le 19-08-2002 à 12:32:29  profilanswer
 

dpro a écrit a écrit :

des fois ya des trucs ki me depassent (svt mm)

Code :
  1. session_start();
  2.     session_register('login');
  3.    
  4.     echo 'Vous etes bien logué';
  5. //test_auth($auth);
  6.  $rqst = "select auth from tbl_user where login='$login'";
  7.   $auth = mysql_query($rqst) or die ('Erreur SQL !<br>'.$rqst.'<br>'.mysql_error());
  8.  $tablo = mysql_fetch_array;
  9. echo ' ...'.$tablo[$auth].'...';


 
la valeur "$auth. " dans la base est e type enum, on a donc le choix entre a,b,c,d, ou e .
Pour les tests, chaque login renvoi une valeur différente de $auth. quand je me le login "admin", cela devrait retourner, a ? et bien non, cela retourne q
 




 
t'as un pb il me semble dans la lecture des résultats de la requete :
 

Code :
  1. echo ' ...'.$tablo[auth].'...';


---------------
Mon blog
n°197026
dpro
Gentil Opticien
Posté le 19-08-2002 à 14:10:03  profilanswer
 

peut-etre, mais si y avait un réel prob, cela ne marcherait pas, et afficherait un msg d'erreur; et là, non! php renvoi une valeur fantaisiste ..... (q) c'est étonnant, non?

n°197091
Je@nb
Kindly give dime
Posté le 19-08-2002 à 14:46:27  profilanswer
 

Code :
  1. session_start();
  2.    session_register('login');
  3.    
  4.    echo 'Vous etes bien logué';
  5. //test_auth($auth);  
  6. $rqst = "select auth from tbl_user where login='$login'";
  7.   $auth = mysql_query($rqst) or die ('Erreur SQL !<br>'.$rqst.'<br>'.mysql_error());
  8. $tablo = mysql_fetch_array($auth);
  9. echo ' ...'.$tablo['auth'].'...';

 

n°197093
dpro
Gentil Opticien
Posté le 19-08-2002 à 14:47:10  profilanswer
 

ok, je@nb, mais maintenant il ne me renvoi que l'auth ayant l'id 1 (a), c'est plus logique, mais il devrait en renvoyer un different à chaque login
 
tbl_user :
+----+---------------+-------+------+------+
| id  |   pseudo        | login   | pwd | auth  |
+----+---------------+-------+------+------+
| 1   |admin              |admin   |dpro     |a     |
+----+---------------+-------+------+------+  
| 2   |direction gene   |dg        |dg      |b      |
+----+---------------+-------+------+------+  
| 3   |direction           |d        |d      |c         |
+----+---------------+-------+------+------+  
| 4   |resp de service  |rds      |rds     |d       |
+----+---------------+-------+------+------+  
| 5   |autres              |a        |a        |e       |
+----+---------------+-------+------+------+


Message édité par dpro le 19-08-2002 à 15:40:40
n°198502
dpro
Gentil Opticien
Posté le 21-08-2002 à 10:20:38  profilanswer
 

Code :
  1. <?php
  2. /////////////////////////////////////////////////////////////////////////////////////
  3. function test_auth()
  4. {
  5. $rqst = "select auth from tbl_user where login='$login'";
  6. $auth = mysql_query($rqst) or die ('Erreur SQL !<br>'.$rqst.'<br>'.mysql_error());
  7. $tablo = mysql_fetch_array($auth);
  8. }
  9. /////////////////////////////////////////////////////////////////////////////////////
  10. test_auth();
  11. echo $tablo[auth];
  12. switch($tablo[auth])
  13. {
  14.  case "a":
  15.   echo " en administrateur.<br>";
  16.  //break;
  17.  case "b":
  18.   echo" en direction generale.<br>";
  19.  //break;
  20.  case "c":
  21.   echo" en responsable de service.<br>";
  22.  //break;
  23.  case "d":
  24.   echo" en direction.<br>";
  25.  //break;
  26.  case "e":
  27.   echo" en qqn d'autre.<br>";
  28.  //break;  
  29.  default :
  30.   echo" aucune authentification.<br>";
  31. }
  32. ?>


ça devrait marcher ce code, et pourtant, non, help

n°198646
dpro
Gentil Opticien
Posté le 21-08-2002 à 11:46:30  profilanswer
 

[:yoyoz] [:yoyoz]  
 :up:

n°198654
black_lord
Truth speaks from peacefulness
Posté le 21-08-2002 à 11:54:10  profilanswer
 

enleve les commentaires des breaks...

n°198660
MagicBuzz
Posté le 21-08-2002 à 11:57:44  profilanswer
 

Le mieu est de faire comme dans NT :
 
Une table contenant les utilisateurs
Une table contenant les groupes
Une table contenant la liste des éléments du site
Une table contenant le lien entre groupe et élément, avec un type d'action à chaque fois.
 
Règles :
Utilisateur appartient à un groupe
A un groupe et un élément donné il y a un type de droit (1 lire,2 ajouter,3 supprimer, 4 mettre à jour) S'il n'y a pas de ligne renseignée pour l'élement, alors l'utilisateur n'a aucun droit sur l'élément.
 
Mais bon courage pour mettre en place, c'est assez lourd ;)

n°198681
dpro
Gentil Opticien
Posté le 21-08-2002 à 12:13:25  profilanswer
 

dsl black_lord, ça ne marche pas, il me retourne la valeur par défaut (aucune identification)
MagicBuzz>C sur ke c une tres bonne idée, mais bon, chuis à ma 3eme semaine de php-mysql :pt1cable:  
Pour joindre des tables c'est JOIN ou INNERJOIN, arf, si tu ty conné bien, tu pourré mayday pliz

n°198692
MagicBuzz
Posté le 21-08-2002 à 12:16:40  profilanswer
 

Pour faire des jointures, oublie tes cours de merde qui ne sont là que pour t'embrouiller la tête.
 
Exemple de jointure :
 
SELECT USER.NAME, GROUP.NAME
FROM USER, GROUP
WHERE USER.GROUP_ID = GROUP.ID
ORDER BY GROUP.NAME, USER.NAME
 
=> Comme tu vois, j'énumère la liste des tables participant à la jointure, puis je ne fait qu'une égalité sur les champs Primary Key et Foreign Key. C'est bien plus lisible et ça change rien aux perfs.
 
(pour info, cette requête va chercher les utilisateurs dans la base et affiche leur nom et leur groupe, triés par groupe et sous-triés par nom d'utilisateur.

n°198848
dpro
Gentil Opticien
Posté le 21-08-2002 à 14:44:00  profilanswer
 

on fait comment pr fixer une foreign key?

n°198864
MagicBuzz
Posté le 21-08-2002 à 14:51:28  profilanswer
 

euh...
 
chais pu faire ça, moi je fait ça direct dans SQL Server via les outils d'admin.
 
sinon, au pire, si elle est pas défini physiquement dans la base, ça change pas grand chose aux perfs, c'est surtout au niveau des contraintes de cohérence que ça pose problème.

n°198914
dpro
Gentil Opticien
Posté le 21-08-2002 à 15:25:43  profilanswer
 

arf, si t pa tro OQP, esske tu pourrais m'écrire le début du code pcke là, chuis planté !
je comprends bien ce que tu eut faire, mais je ne vois pas du tt kmt je peut le mettre en place pr que cela fonctionne....
arf

n°198953
MagicBuzz
Posté le 21-08-2002 à 15:52:34  profilanswer
 

Désolé, mais j'y connais que dalle en PHP :)
 
Je peux t'écrire les requêtes SQL que tu veux, mais pour le PHP, demande à qq1 d'autre :)

n°198958
dpro
Gentil Opticien
Posté le 21-08-2002 à 15:56:27  profilanswer
 

bah c dejà ça .....
le php j'éssairais d'en faire mon affaire si j'ai déjà le support mysql....

n°198979
Je@nb
Kindly give dime
Posté le 21-08-2002 à 16:22:24  profilanswer
 

dpro, fait moi un backup de cette table avec les insert de données, v tester ce bout de script ché moi, car je ne vois pas ce ki bug;
 
 
met error_reporting('E_ALL';); o début du script pour voir les erreurs

n°199089
dpro
Gentil Opticien
Posté le 21-08-2002 à 18:02:04  profilanswer
 

oulà la table user? bah, je l'ai redessinée un peu plu  haut, tu veut ke je fasse un dump ou qqch de la base?
 
met error_reporting('E_ALL';);  
 
oui mais il ne retourne pas d'erreurs??atten j'essaie

n°199104
Je@nb
Kindly give dime
Posté le 21-08-2002 à 18:14:40  profilanswer
 

si on trouve pas, oué fait moi un dump de la table car je ne connais pas sa structure

n°200337
dpro
Gentil Opticien
Posté le 23-08-2002 à 09:38:19  profilanswer
 

dsl pr le retard je bossais pas jeudi ....
voici donc le dump de la base "intranet"
 

Code :
  1. # phpMyAdmin MySQL-Dump
  2. # version 2.2.6
  3. # http://phpwizard.net/phpMyAdmin/
  4. # http://www.phpmyadmin.net/ (download page)
  5. #
  6. # Serveur: localhost
  7. # Généré le : Vendredi 23 Août 2002 à 09:37
  8. # Version du serveur: 3.23.49
  9. # Version de PHP: 4.2.0
  10. # Base de données: `intranet`
  11. # --------------------------------------------------------
  12. #
  13. # Structure de la table `tbl_user`
  14. #
  15. CREATE TABLE tbl_user (
  16.   id int(11) NOT NULL auto_increment,
  17.   pseudo varchar(50) NOT NULL default '',
  18.   login varchar(8) NOT NULL default '',
  19.   pwd varchar(8) NOT NULL default '',
  20.   auth enum('a','b','c','d','e') NOT NULL default 'e',
  21.   PRIMARY KEY  (id),
  22.   UNIQUE KEY id (id),
  23.   KEY ID_2 (id)
  24. ) TYPE=MyISAM;
  25. #
  26. # Contenu de la table `tbl_user`
  27. #
  28. INSERT INTO tbl_user VALUES (2, 'direction generale', 'dg', 'dg', 'b');
  29. INSERT INTO tbl_user VALUES (1, 'admin', 'admin', 'dpro', 'a');
  30. INSERT INTO tbl_user VALUES (3, 'direction', 'd', 'd', 'c');
  31. INSERT INTO tbl_user VALUES (4, 'responsable de service', 'rds', 'rds', 'd');
  32. INSERT INTO tbl_user VALUES (5, 'autres', 'a', 'a', 'e');

n°200478
Je@nb
Kindly give dime
Posté le 23-08-2002 à 12:43:26  profilanswer
 

je teste ça après avoir mangé

n°200632
dpro
Gentil Opticien
Posté le 23-08-2002 à 15:19:11  profilanswer
 

ok c cool de ta part

n°200668
Je@nb
Kindly give dime
Posté le 23-08-2002 à 15:53:03  profilanswer
 

Code :
  1. <?php
  2. /////////////////////////////////////////////////////////////////////////////////////
  3. function test_auth()
  4. { global $tablo;
  5. $rqst = "select auth from tbl_user where login='".$_GET['login']."'";
  6. $auth = mysql_query($rqst) or die ('Erreur SQL !<br>'.$rqst.'<br>'.mysql_error());
  7. $tablo = mysql_fetch_array($auth);
  8. }
  9. /////////////////////////////////////////////////////////////////////////////////////
  10. test_auth();
  11. echo $tablo['auth'];
  12. switch($tablo['auth'])
  13. {
  14.  case "a":
  15.   echo " en administrateur.<br>";
  16.  break;
  17.  case "b":
  18.   echo" en direction generale.<br>";
  19.  break;
  20.  case "c":
  21.   echo" en responsable de service.<br>";
  22.  break;
  23.  case "d":
  24.   echo" en direction.<br>";
  25.  break;
  26.  case "e":
  27.   echo" en qqn d'autre.<br>";
  28.  break;
  29.  default :
  30.   echo" aucune authentification.<br>";
  31. }
  32. ?>


 
 
Bon en fait, il faut mettre global o tablo sinon il n'est pas sépcifié dans le script mais seulement dans la fonction.
Sinon fo mettre les break donc.
G mis $_GET['login'] car g passé les login en url pour tester. Met $_POST['login'] si c en formulaire ou $_SESSION['login'] si tutilise les sessions ..
 
Sinon regarde la table c chelou, qd tu met directeur il te dit responsable de service et inversement  ;)

n°200687
dpro
Gentil Opticien
Posté le 23-08-2002 à 16:04:10  profilanswer
 

[:prosterne]  Merci o grand maitre Jedi  [:prosterne2][:j3dimaster] :)  :)

n°200689
Je@nb
Kindly give dime
Posté le 23-08-2002 à 16:04:29  profilanswer
 

:D  :D

n°200694
dpro
Gentil Opticien
Posté le 23-08-2002 à 16:06:09  profilanswer
 

G pas trop compris le fctionnmt de _post mais je l'ai mis et ça marche, idem pour _sessions

n°200725
dpro
Gentil Opticien
Posté le 23-08-2002 à 16:19:09  profilanswer
 

Citation :

Sinon regarde la table c chelou, qd tu met directeur il te dit responsable de service et inversement  


 
OUUUPSS chtite erreur d'innatention de ma part dans un ancien message il fallait mettre

Code :
  1. case "c":
  2.   echo" en direction.<br>";
  3. break;
  4. case "d":
  5.   echo" en responsable de service.<br>";
  6. break;

 
 
au lieu de  

Code :
  1. case "c":
  2.   echo" en responsable de service.<br>";
  3. break;
  4.  
  5. case "d":
  6.   echo" en direction.<br>";
  7. break;


 
voili, donc ça marche comme sur des roulettes !!
maintenant, passons, aux choses sérieuses : les cookies d'ailleurs, les cookies, sont mieux & + simples d'utilisation que les sessions, non?
 
 

mood
Publicité
Posté le   profilanswer
 

 Page :   1  2
Page Précédente

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Site intranet

 

Sujets relatifs
[ HTML ] mettre des infos sur son site[Algo] un site sur la syntaxe algorithmique ?
[VC++]quelqu'un connait un bon site en francais?Comment protéger un site sur son contenu ?
quels sont les conditons essentiels a respecter pour pour site webSite intranet impossible a realiser ?
Création d'un fichier log des accès à un site Intranet[PHP] Récupérer le login NT des connectés à un site Intranet ?
Mise à jour d'un site intranet à l'aide d'un script ou autre....;Besoin de conseils, site intranet base de donnees
Plus de sujets relatifs à : Site intranet


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR