l année prochaine je reviendrai en pro grace a toi! lol
mais en attendant , il faut que je termine ce pojet...
une autre petite question, comment sait on une fois le login et mot de passe saisie que c un clients ou admin? merci
#
# Structure de la table `categorie`
#
DROP TABLE IF EXISTS `categorie`;
CREATE TABLE `categorie` (
`cat_code` char(3) NOT NULL default '',
`cat_libelle` varchar(50) default NULL,
PRIMARY KEY (`cat_code`)
) TYPE=MyISAM;
#
# Contenu de la table `categorie`
#
INSERT INTO `categorie` VALUES ('sou', 'Souris');
INSERT INTO `categorie` VALUES ('cla', 'Clavier');
INSERT INTO `categorie` VALUES ('web', 'Webcam');
INSERT INTO `categorie` VALUES ('ecr', 'Ecran');
INSERT INTO `categorie` VALUES ('imp', 'Imprimante');
INSERT INTO `categorie` VALUES ('sca', 'Scanner');
# --------------------------------------------------------
#
# Structure de la table `client`
#
DROP TABLE IF EXISTS `client`;
CREATE TABLE `client` (
`clt_code` varchar(5) NOT NULL default '',
`clt_nom` varchar(30) default NULL,
`clt_adresse` varchar(50) default NULL,
`clt_tel` varchar(20) default NULL,
`clt_email` varchar(50) default NULL,
`clt_motPasse` varchar(10) default NULL,
PRIMARY KEY (`clt_code`)
) TYPE=MyISAM;
#
# Contenu de la table `client`
#
INSERT INTO `client` VALUES ('c0001', 'Dupont', '12, rue haute 75001 Paris', '01 05 22 35 97', '[email protected]', 'aaa');
INSERT INTO `client` VALUES ('c0002', 'Dubois', '4, bld d\'Alsace 75002 Paris', '01 44 97 62 54', '[email protected]', 'bbb');
INSERT INTO `client` VALUES ('c0003', 'Durand', '5, allée des Ifs 80000 Amiens', '03 22 79 64 56', '[email protected]', 'ccc');
# --------------------------------------------------------
#
# Structure de la table `commande`
#
DROP TABLE IF EXISTS `commande`;
CREATE TABLE `commande` (
`cde_moment` varchar(20) NOT NULL default '',
`cde_client` varchar(5) NOT NULL default '',
`cde_date` date default NULL,
PRIMARY KEY (`cde_moment`,`cde_client`)
) TYPE=MyISAM;
#
# Contenu de la table `commande`
#
INSERT INTO `commande` VALUES ('10/02/04 16:04:05', 'C0001', '0000-00-00');
INSERT INTO `commande` VALUES ('10/02/04 17:52:23', 'c0002', NULL);
INSERT INTO `commande` VALUES ('13/04/04 16:40:02', 'c0001', NULL);
INSERT INTO `commande` VALUES ('13/04/04 16:45:11', 'c0002', NULL);
# --------------------------------------------------------
#
# Structure de la table `contenir`
#
DROP TABLE IF EXISTS `contenir`;
CREATE TABLE `contenir` (
`cde_moment` varchar(20) NOT NULL default '',
`cde_client` varchar(5) NOT NULL default '',
`produit` char(3) NOT NULL default '',
`quantite` smallint(6) default NULL,
PRIMARY KEY (`cde_moment`,`cde_client`,`produit`)
) TYPE=MyISAM;
#
# Contenu de la table `contenir`
#
INSERT INTO `contenir` VALUES ('10/02/04 16:04:05', 'C0001', 'c02', 1);
INSERT INTO `contenir` VALUES ('10/02/04 17:52:23', 'c0002', 'e02', 1);
INSERT INTO `contenir` VALUES ('10/02/04 17:52:23', 'c0002', 'w01', 1);
INSERT INTO `contenir` VALUES ('13/04/04 16:40:02', 'c0001', 's04', 1);
INSERT INTO `contenir` VALUES ('13/04/04 16:45:11', 'c0002', 'sc01', 1);
# --------------------------------------------------------
#
# Structure de la table `panier`
#
DROP TABLE IF EXISTS `panier`;
CREATE TABLE `panier` (
`numligne` int(11) NOT NULL auto_increment,
`pdt_ref` char(3) NOT NULL default '',
`quantite` smallint(6) NOT NULL default '0',
PRIMARY KEY (`numligne`)
) TYPE=MyISAM AUTO_INCREMENT=6 ;
#
# Contenu de la table `panier`
#
# --------------------------------------------------------
#
# Structure de la table `produit`
#
DROP TABLE IF EXISTS `produit`;
CREATE TABLE `produit` (
`pdt_ref` char(3) NOT NULL default '',
`pdt_designation` varchar(50) default NULL,
`pdt_prix` float default NULL,
`pdt_image` varchar(50) default NULL,
`pdt_categorie` char(3) default NULL,
PRIMARY KEY (`pdt_ref`)
) TYPE=MyISAM;
#
# Contenu de la table `produit`
#
INSERT INTO `produit` VALUES ('i01', 'Imprimante jet d encre couleur - Legal, A4 - 2400 x 1200 ppp - 14 ppm (mono) / 8 ppm (couleur) – USB', '99', 'imprimante_jet_d_encre', 'imp');
INSERT INTO `produit` VALUES ('i02', 'Imprimante laser couleur - laser - Legal - 600 ppp x 600 ppp - 16 ppm (mono) / 4 ppm (couleur)', '115', 'imprimante_laser', 'imp');
INSERT INTO `produit` VALUES ('sc01', 'Scanner à plat - 216 x 297 mm - 1200 x 1200 ppp – USB', '99', 'scanner', 'sca');
INSERT INTO `produit` VALUES ('s01', 'Souris optomécanique filaire - 3 boutons dont la molette - PS/2 - Windows 98/NT 4.0/2000/Me/XP', '15', 'souris_filaire', 'sou');
INSERT INTO `produit` VALUES ('s02', 'Souris optique filaire - PS/2 - 3 boutons dont la molette - Windows 95/98/ME/2000/XP/NT ', '32', 'souris_optique_filaire', 'sou');
INSERT INTO `produit` VALUES ('s03', 'Souris optomécanique sans fil + son récepteur USB - 5 boutons dont la molette - USB et PS/2 - 2 piles AA - Windows 98SE/2000/ME/XP', '39', 'souris_sans_fil', 'sou');
INSERT INTO `produit` VALUES ('s04', 'Souris optique sans fil + 1 dongle-récepteur - USB - 3 boutons dont la molette - Windows 98SE/2000/ME/XP', '140', 'souris_optique_sans_fil', 'sou');
INSERT INTO `produit` VALUES ('w01', 'Webcam numérique - CMOS - 352 x 288 - 30 images/seconde - USB - Windows 98/ME/2000/XP', '55', 'webcam', 'web');
INSERT INTO `produit` VALUES ('w02', 'Webcam + appareil photo numérique - 640 x 480 - 350 000 pixels - Mémoire interne de 8 Mo - jusqu’à 400 photos - USB - Pas de perte de photos pendant le changement de piles - Windows 98/ME/2000/XP ', '119', 'webcam_appareil_photo_numerique', 'web');
INSERT INTO `produit` VALUES ('e01', 'Ecran CRT 17 pouces - Pas de masque : 0.28mm - Résolution max : 1280 x 1024 ', '229', 'ecran', 'ecr');
INSERT INTO `produit` VALUES ('e02', 'TFT LCD 17 pouces multimedia - 1024 x 768 - 75 Hz - 0.297 mm ', '479', 'ecran_plat', 'ecr');
INSERT INTO `produit` VALUES ('c01', 'Clavier multimédia standard - 109 touches - PS/2 - Windows 95/98/2000/ME/XP ', '19', 'clavier', 'cla');
INSERT INTO `produit` VALUES ('r03', 'Clavier sans fil –- Windows Mac - Port USB et PS/2', '79', 'clavier_sans_fil', 'cla');
Code : Tout sélectionner
ALTER TABLE `client` ADD `clt_acces` ENUM( 'admin', 'client' ) DEFAULT 'client';
c trop fort!! merci pr le code!!Excellent
Alors voici une ligne à ajouter à une des tables:Ça va rajouter un champ permettant d'identifier le statut du visiteur : client ou adminCode : Tout sélectionner
ALTER TABLE `client` ADD `clt_acces` ENUM( 'admin', 'client' ) DEFAULT 'client';
Partant de là, quand le visiteur s'identifie, tu pourras simplement tester la valeur enregistrée et définir ce que tu affiches ou non, par exemple tu pourras faire afficher un lien vers la panneau de contrôle administratif si le visiteur est identifié comme "admin" et rien sinon.
Par défault à l'enregistrement, un nouveau aura le statut de "client" si tu ne le précises pas dans la requête d'insertion. Je n'ai mis que deux valeurs possibles, libre à toi d'avoir d'autres niveaux intermédiaires.
comment je peux faire pour qd je clik sur ok:<form name="form1" method="post" action="">
Login:
<input name="CodeClient" type="text">
<br>
Mot de passe:
<input name="MotPasse" type="password" size="20">
<br>
<input type="submit" id="ok" name="ok" value="Ok">
</form>
<?php
On vérifie si le bouton [Ok] du formulaire d'identification a été cliqué
if(isset($_POST['ok']))
{
/* Le bouton a été cliqué, on traite les informations: d'abord, récupération des informations. */
$CodeClient = $_POST['CodeClient'];
$MotPasse = $_POST['MotPasse'];
/* Vérification que les valeurs ne sont pas vides */
if($CodeClient == "" || $MotPasse == "")
{
/* Au moins une des deux valeurs sont vides, on traite chaque cas individuellement et on met le message d'erreur */
}
else
{
/* Les valeurs sont valides, on va chercher une correspondance dans la base */
}
}
else
{
/* Le bouton n'a pas été ciqué, on fait l'affichage normal de la page */
?>
<!-- Code de ta page -->
<?php
}
Voilà, c'est le squelette, je te laisse avancer un peu par toi-même. Je te recommande pour des questions de facilité de faire une validation du formulaire en JavaScript pour vérifier qu'on envoie pas un formulaire vide, même si tu en fais une autre en PHP. Si tu limites au PHP, les messages d'erreur devront être dans des variables qu'il faudra afficher avec le formulaire mais pas directement depuis la partie validation. Ceci à cause de la redirection. C'est difficile de t'expliquer tout ça, j'espère que tu as quand même une idée générale de l'ensemble.<?php
/*On vérifie si le bouton [Ok] du formulaire d'identification a été cliqué */
if(isset($_POST['ok']))
{
/* Le bouton a été cliqué, on traite les informations: d'abord, récupération des informations. */
$CodeClient = $_POST['CodeClient'];
$MotPasse = $_POST['MotPasse'];
/* Vérification que les valeurs ne sont pas vides */
if($CodeClient == "" || $MotPasse == "")
{
/* Au moins une des deux valeurs sont vides, on traite chaque cas individuellement et on met le message d'erreur */
}
else
{
/* Les valeurs sont valides, on va chercher une correspondance dans la base */
}
}
else
{
/* Le bouton n'a pas été cliqué, on fait l'affichage normal de la page */
?>
<!-- Code de ta page -->
<?php
}
je pense que c'est à cause du 1er commentaire que ça a merdé...j'ai corrigé en haut, mais à la fin du script, y a nouveau une erreur de synthaxe et je vois pas comment tu voulais faire Cyrano ?