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:35]
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 `login`; +DROP TABLE IF EXISTS `membre`; 
- +  
-CREATE TABLE IF NOT EXISTS ​login +CREATE TABLE IF NOT EXISTS ​membre
-  ​user_id int(10) UNSIGNED NOT NULL AUTO_INCREMENT,​ +  ​membre_id INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,​ 
-  ​username varchar(20) NOT NULL, +  ​prenom VARCHAR(50) NOT NULL, 
-  ​password varchar(100) NOT NULL, +  nom VARCHAR(50) NOT NULL, 
-  PRIMARY KEY  (user_id), +  pseudo VARCHAR(20) NOT NULL, 
-  UNIQUE KEY username (username)+  ​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;​ )ENGINE=InnoDB DEFAULT CHARSET=utf8;​
 +
 </​code>​ </​code>​
  
Ligne 44: Ligne 51:
 USE essaiLogin; USE essaiLogin;
    
-TRUNCATE `login`; +TRUNCATE `membre`; 
-DELETE FROM `login`;+DELETE FROM `membre`; 
 +  
 +INSERT INTO membre(prenom,​ nom, 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>​ 
 + 
 +<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 :
  
-INSERT INTO login (username, ​password) VALUES ​ +<code user>​mysql -uessaiLogin -p essaiLogin -e "​select * from membre;"</​code>​ 
-('​test',​ MD5('​pass'​)),​ +<​code>​Enter ​password 
-('toto',​MD5('​toto'));++-----------+--------+------+-------+----------------------------------+--------------+---------+---------------------+---------------------+ 
 +| 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>​ </​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 === ===On vérifie ===
  
-<code user>​mysql -uessaiLogin -p essaiLogin -e "​select * from login;"</​code>​+<code user>​mysql -uessaiLogin -p essaiLogin -e "​select * from membre;"</​code>​ 
  
 <​code>​ <​code>​
 Enter password: ​ Enter password: ​
-+---------+----------+----------------------------------+ ++-----------+--------+-------+-------+----------------------------------+----------------+---------+---------------------+---------------------+ 
-user_id ​username ​password ​                        | +membre_id ​prenom ​nom   | pseudo | motPasse ​                        ​| mail           | isAdmin | dateInscription ​    | dateModif ​          
-+---------+----------+----------------------------------+ ++-----------+--------+-------+-------+----------------------------------+----------------+---------+---------------------+---------------------+ 
-      ​1 | test     1a1dc91c907325c69271ddf0c944bc72 ​| +        ​1 | prenom ​nom   pseudo | 335368c4ed30a8f0f3b3919a2dfade2a | mail@mail.fr ​  |       0 | 2016-06-24 15:08:29 | 0000-00-00 00:00:00 | 
-|       2 | toto     ​| f71dbe52628a3f83a77ab494817525c6 | +|         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>​ </​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