La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

MODEX WEB DOMINIQUE ROSSIN Mysql et Sessions PHP.

Présentations similaires


Présentation au sujet: "MODEX WEB DOMINIQUE ROSSIN Mysql et Sessions PHP."— Transcription de la présentation:

1 MODEX WEB DOMINIQUE ROSSIN Mysql et Sessions PHP

2 La semaine passée ? index.php OUTPUT de PHP index.php C:\xampp\htdocs\index.php Mysql

3 Détruire des données SELECT * FROM contact WHERE (login1 = rossin) OR (login2 = rossin) Idlogin1login2 1serreeuler 2serredesprez 3moraindesprez 4rossindesprez 5serrerossin Recherche des contacts de rossin DELETE FROM contact WHERE (login1 = rossin) OR (login2 = rossin) DELETE SELECT *

4 Mise à jour dun enregistrement Solution 1 DELETE INSERT On veut changer lage de Olivier Serre Solution 1 DELETE INSERT On veut changer lage de Olivier Serre idprenomnomAge 1olivierserre20 2LeonhardEuler302 3BaptisteDesprez15 4FrançoisMorain12 Idp1p

5 Exemple On détruit lenregistrement DELETE FROM `table_nom` WHERE `nom`=serre AND `prenom`=olivier idprenomnomage 2LeonhardEuler302 3BaptisteDesprez15 4FrançoisMorain12 Idp1p On réinsère le nouveau INSERT INTO`table_nom` (`prenom`,`nom`,age `) VALUES (olivier, serre,30) idprenomnomage 2LeonhardEuler302 3BaptisteDesprez15 4FrançoisMorain12 5OlivierSerre30 Idp1p PB : id a changé

6 Patch INSERT INTO`table_nom` (`id`,`prenom`,`nom`,age `) VALUES (1,olivier, serre,30) idprenomnomage 2LeonhardEuler302 3BaptisteDesprez15 4FrançoisMorain12 1OlivierSerre30 Idp1p OK

7 Problème : retour en arrière On détruit lenregistrement DELETE FROM `table_nom` WHERE `nom`=serre AND `prenom`=olivier idprenomnomage 2LeonhardEuler302 3BaptisteDesprez15 4FrançoisMorain12 Idp1p INCOHERENCE

8 Bonne solution : UPDATE UPDATE `table_nom` SET `age`=30 WHERE `id`=1 UPDATE `table_nom` Quelle table SET `age`=30 Quelle modif WHERE `id`=1 Quels enregistrements

9 Exemple : Mots de passe Changement de mot de passe. 2 opérations: Vérification de lancien mot de passe Modification du mot de passe loginprenomnomagemdp serreolivierserre30aigle eulerLeonhardEuler302lemme desprezBaptisteDesprez15prez morainFrançoisMorain12ouichef UPDATE `tableLogin` SET `mdp`=groupir WHERE `login`=morain AND `mdp`=ouichef

10 Opération réussie ? Connaitre le nombre de lignes qui ont changé mysql_query(UPDATE ……..); if (mysql_affected_rows()==1) … mysql_query(UPDATE ……..); if (mysql_affected_rows()==1) … Bonne méthode : les transactions et le système de verrou

11 Concurrence Effacement dun utilisateur (ex : serre) idprenomnomAge 1olivierserre20 2LeonhardEuler302 3BaptisteDesprez15 4FrançoisMorain12 Idp1p Action sur 2 tables 2 opérations DELETE sont nécessaires

12 LOCK des tables LOCK TABLES `personnes`,`contact` WRITE DELETE from `personnes` WHERE... DELETE from `contact` WHERE... UNLOCK TABLES Entre LOCK et UNLOCK personne ne peut toucher aux tables.

13 Système de réservation Réservation de places Gestion dun panier On doit réserver des éléments pour une certaine durée de temps TIMESTAMP : Tampon de temps

14 TimeStamp Champ DATETIME ou TIMESTAMP On stocke NOW() lors de la réservation Pour vérifier la disponibilité on vérifie le délai depuis le TIMESTAMP.

15 Retour sur PHP < ?php $var = 3 ; var_dump(isset($var)) ; unset($var) ; var_dump(isset($var)) ; $var = NULL ; var_dump(isset($var)) ; ?> TRUE FALSE

16 Clés de tableaux < ?php $search_array = array(premier => null, second=> 4); isset($search_array[premier]) ; array_key_exists(premier, $search_array) ; ?> FALSE TRUE

17 Sessions Une session permet de garder des informations dune visite à lautre dun utilisateur On peut garder des informations entre les pages Les variables se transmettent sous forme de tableau $_SESSION Il est toujours possible de pirater une session Ajout de cryptographie

18 Comment ? On commence par session_start() avant tout code HTML. On travaille ensuite avec les tableau $_SESSION vu comme un tableau persistent

19 Exemple Pas despace

20 Utilisation Connexion des utilisateurs:

21 La face cachée des sessions A chaque session est associé un identifiant ou SID Le SID est un identifiant unique Le SID est transmis de manière transparente de page en page Soit utilisation de cookie, soit via lURL Un SID nest valable que pendant la visite du site et 30 min environ après

22 Détruire une session

23 CNIL Dans le cas denregistrement dun utilisateur et dun mail. Déclaration à la CNIL Envoi dun mail de vérification mail(destinataire, objet, contenu) Possibilité de désinscription


Télécharger ppt "MODEX WEB DOMINIQUE ROSSIN Mysql et Sessions PHP."

Présentations similaires


Annonces Google