logo Debian Debian Debian-France Debian-Facile Debian-fr.org Forum-Debian.fr Debian ? Communautés logo inclusivité

Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).


L'icône rouge permet de télécharger chaque page du wiki visitée au format PDF et la grise au format ODT → ODT PDF Export

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
Prochaine révision Les deux révisions suivantes
utilisateurs:hypathie:tutos:creer-son-site-web-en-php-_-installer-mysql-creer-une-bdd-pour-un-site-en-php-objet [24/06/2016 10:16]
Hypathie [Utilisation]
utilisateurs:hypathie:tutos:creer-son-site-web-en-php-_-installer-mysql-creer-une-bdd-pour-un-site-en-php-objet [28/06/2016 20:22]
Hypathie [Utilisation]
Ligne 16: Ligne 16:
 ===== Utilisation ===== ===== Utilisation =====
  
-====Base de données, table login ====+====Base de données, table membre====
 ===On crée la base de données === ===On crée la base de données ===
  
Ligne 23: Ligne 23:
 <code user>​./​creerMysqlBDDetUser.sh essaiLogin essaiLogin <​motDePasse></​code>​ <code user>​./​creerMysqlBDDetUser.sh essaiLogin essaiLogin <​motDePasse></​code>​
  
-=== Création de la table login ===+=== Création de la table membre===
  
 <code sql> <code sql>
-    ​USE essaiLogin;+USE essaiLogin;
    
-    ​DROP TABLE IF EXISTS `essaiLogin`;+DROP TABLE IF EXISTS `membre`
 +  
 +CREATE TABLE IF NOT EXISTS membre( 
 +  membre_id INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,​ 
 +  prenom VARCHAR(50) NOT NULL, 
 +  nom VARCHAR(50) NOT NULL, 
 +  pseudo VARCHAR(20) NOT NULL, 
 +  motPasse VARCHAR(100) NOT NULL, 
 +  mail VARCHAR(100) NOT NULL, 
 +  isAdmin tinyint(1)NOT NULL DEFAULT 0, 
 +  dateInscription TIMESTAMP DEFAULT CURRENT_TIMESTAMP,​ 
 +  dateModif TIMESTAMP,​ 
 +  PRIMARY KEY  (membre_id),​ 
 +  UNIQUE KEY username (pseudo) 
 +)ENGINE=InnoDB DEFAULT CHARSET=utf8;
  
-    CREATE TABLE login( 
-    id int(11) NOT NULL auto_increment,​ 
-    login text NOT NULL, 
-    pass_md5 text NOT NULL, 
-    PRIMARY KEY  (id) 
-    ) TYPE=MyISAM;​ 
 </​code>​ </​code>​
  
Ligne 41: Ligne 49:
  
 <code sql> <code sql>
-use essaiLogin+USE essaiLogin;
- +
-TRUNCATE `login`; +
-delete from `login`;+
    
-INSERT INTO `login(`login`, `pass_md5`) VALUES +TRUNCATE ​`membre`
-('toto', 'toto'), +DELETE FROM `membre`
-('titi', 'titi');+  
 +INSERT INTO membre(prenomnom, pseudo, motPasse, mail, isAdmin, dateInscription) VALUES  
 +('prenom', 'nom', '​pseudo',​ MD5('​motPasse'), '​mail@mail.fr',​ 0, now()), 
 +('toto', 'toto', '​toto'​ ,​MD5('​toto'​),​ '​toto@toto.fr',​ 0, now());
 </​code>​ </​code>​
 +
 +<note tip>
 +  * La ligne ''​isAdmin tinyint(1)NOT NULL DEFAULT 0,''​ \\ signifie que le champs est rempli par défaut avec la valeur ''​FALSE''​.\\ La valeur ''​TRUE''​ sera ''​1''​.
 +  * Voir : http://​dev.mysql.com/​doc/​refman/​5.7/​en/​numeric-type-overview.html
 +<​code>​BOOL,​ BOOLEAN
 +
 +These types are synonyms for TINYINT(1). A value of zero is considered false. Nonzero values are considered true</​code>​
 +</​note>​
 +
 +  * Ce qui donne :
 +
 +<code user>​mysql -uessaiLogin -p essaiLogin -e "​select * from membre;"</​code>​
 +<​code>​Enter password: ​
 ++-----------+--------+------+-------+----------------------------------+--------------+---------+---------------------+---------------------+
 +| membre_id | prenom | nom  | pseudo | motPasse ​                        | mail         | isAdmin | dateInscription ​    | dateModif ​          |
 ++-----------+--------+------+-------+----------------------------------+--------------+---------+---------------------+---------------------+
 +|         1 | prenom | nom  | pseudo | 335368c4ed30a8f0f3b3919a2dfade2a | mail@mail.fr |       0 | 2016-06-24 15:08:29 | 0000-00-00 00:00:00 |
 +|         2 | toto   | toto | toto  | f71dbe52628a3f83a77ab494817525c6 | toto@toto.fr |       0 | 2016-06-24 15:08:29 | 0000-00-00 00:00:00 |
 ++-----------+--------+------+-------+----------------------------------+--------------+---------+---------------------+---------------------+
 +</​code>​
 +
 +  * On insert un administrateur :
 +
 +<code user>
 + mysql -uessaiLogin -p essaiLogin -e "​INSERT INTO membre(prenom,​ nom, pseudo, motPasse, mail, isAdmin) VALUES ('​admin',​ '​Admin',​ '​admin'​ ,​MD5('<​passdwCHOISI>'​),​ '​admin@admin.fr',​ 1);"
 +</​code>​
 +
 +  * On ajoute la date et l'​heure de l'​update pour l'​administrateur :
 +
 +<code user>​mysql -uessaiLogin -p essaiLogin -e "​UPDATE \`membre\` SET \`dateModif\`=NOW() WHERE \`pseudo\`='​admin';"</​code>​
 +
 +===On vérifie ===
 +
 +<code user>​mysql -uessaiLogin -p essaiLogin -e "​select * from membre;"</​code>​
 +
 +
 +<​code>​
 +Enter password: ​
 ++-----------+--------+-------+-------+----------------------------------+----------------+---------+---------------------+---------------------+
 +| membre_id | prenom | nom   | pseudo | motPasse ​                        | mail           | isAdmin | dateInscription ​    | dateModif ​          |
 ++-----------+--------+-------+-------+----------------------------------+----------------+---------+---------------------+---------------------+
 +|         1 | prenom | nom   | pseudo | 335368c4ed30a8f0f3b3919a2dfade2a | mail@mail.fr ​  ​| ​      0 | 2016-06-24 15:08:29 | 0000-00-00 00:00:00 |
 +|         2 | toto   | toto  | toto  | f71dbe52628a3f83a77ab494817525c6 | toto@toto.fr ​  ​| ​      0 | 2016-06-24 15:08:29 | 0000-00-00 00:00:00 |
 +|         3 | admin  | Admin | admin | 21232f297a57a5a743894a0e4a801fc3 | admin@admin.fr |       1 | 2016-06-24 15:10:16 | 2016-06-24 15:12:40 |
 ++-----------+--------+-------+-------+----------------------------------+----------------+---------+---------------------+---------------------+
 +
 +
 +</​code>​
 +
 +
 +<​note>​
 +**Remarque sur les dates :**
 +
 +Pour le champ ''​dateModif'',​ si on avait choisi le type ''​DATE''​ à la place de ''​TIMESTAMP''​
 +
 +<​code>​
 +CREATE TABLE IF NOT EXISTS membre(
 +<...>
 +  dateInscription TIMESTAMP DEFAULT CURRENT_TIMESTAMP,​
 +  dateModif DATE,
 +<...>
 +)ENGINE=InnoDB DEFAULT CHARSET=utf8;​
 +</​code>​
 +
 +On aurait pu modifier la date seulement ​
 +
 +  * avec la fonction mysql ''​now()''​ :
 +
 +<​code>​UPDATE `membre` SET `dateModif`=NOW() WHERE `pseudo`='​admin';</​code>​
 +
 +  * ou avec la fonction mysql ''​CURRENT_TIMESTAMP()''​ :
 +
 +
 +<​code>​UPDATE `membre` SET `dateModif`=CURRENT_TIMESTAMP() WHERE `pseudo`='​admin';</​code>​
 +
 +  * qui donneraient ce résultat :
 +
 +<​code>​select pseudo, dateModif from membre where pseudo='​admin';</​code>​
 +
 +<​code>​
 ++-------+------------+
 +| pseudo | dateModif ​ |
 ++-------+------------+
 +| admin | 2016-06-24 |
 ++-------+------------+
 +
 +</​code>​
 +
 +</​note>​
utilisateurs/hypathie/tutos/creer-son-site-web-en-php-_-installer-mysql-creer-une-bdd-pour-un-site-en-php-objet.txt · Dernière modification: 01/09/2016 10:48 par Hypathie

Pied de page des forums

Propulsé par FluxBB