Cours4 : Les sessions



Documents pareils
L envoi d un formulaire par courriel. Configuration requise Mail Texte Mail HTML Check-list

TP JAVASCRIPT OMI4 TP5 SRC

PHP et les Bases de données - Généralités

Module Com231A - Web et Bases de Données Notion 5 : Formulaires et utilisation des Bases de Données avec PHP

Introduction. PHP = Personal Home Pages ou PHP Hypertext Preprocessor. Langage de script interprété (non compilé)

Formulaire pour envoyer un mail

Programmation Web. Madalina Croitoru IUT Montpellier

FTP : File TRansfer Protocol => permets d envoyer des gros fichiers sur un serveur (ou de télécharger depuis le serveur)

SYSTÈMES D INFORMATIONS

Démonstration de la mise en cache via HTML 5 sur iphone

Guide de l'utilisateur

Les sites Internet dynamiques. contact : Patrick VINCENT pvincent@erasme.org

PHP et mysql. Code: php_mysql. Olivier Clavel - Daniel K. Schneider - Patrick Jermann - Vivian Synteta Version: 0.9 (modifié le 13/3/01 par VS)

Sommaire Accès via un formulaire d'identification... 4 Accès en mode SSO... 5 Quels Identifiant / mot de passe utiliser?... 6

2 Formation utilisateur

Sécurité des sites Web Pas un cours un recueil du net. INF340 Jean-François Berdjugin

Impact des robots d indexation sur le cache de second niveau de SPIP IMBERTI Christophe - SG/SPSSI/CP2I/DO Ouest 06/06/2012 mis à jour le 05/07/2012

Solution de gestion de newsletter 12all Version 1.0 p.montier

Un exemple d'authentification sécurisée utilisant les outils du Web : CAS. P-F. Bonnefoi

Installer un serveur de listes de diffusion

PARAMETRAGE CONSOLE ADMINISTRATION DE MESSAGERIE "VENDOME.EU" NOTICE UTILISATION

Attaques applicatives

Comment développer et intégrer un module à PhpMyLab?

Présentation Générale

STID 2ème année : TP Web/PHP

Guide d interfaçage SSO Connexion des ressources aux plates-formes de type Corrélyce. Sommaire. Titre du document

DESCRIPTION DU PLUGIN D AUTHENTIFICATION AVEC CAS POUR SPIP

-> Envoi automatique du nom du VIP vers la base de donnée -> Création automatique de la carte de vœux MINI SITE VŒUX

INTERNET est un RESEAU D ORDINATEURS RELIES ENTRE EUX A L ECHELLE PLANETAIRE. Internet : interconnexion de réseaux (anglais : net = réseau)

RAPPORT AUDIT SEO. Élaboré à l'attention de : Monsieur Greber Élaboré par : Cédric Peinado

Dossier Technique. Détail des modifications apportées à GRR. Détail des modifications apportées à GRR Le 17/07/2008. Page 1/10

Solution Pro pour l Envoi de SMS direct opérateurs PUSH SMV MODE HTTP. Documentation Technique

Thème : Création, Hébergement et référencement d un site Web

Environnements informatiques

LA PLATE-FORME D'ALTERN C

Stockage du fichier dans une table mysql:

NFA016 : Introduction. Pour naviguer sur le Web, il faut : Naviguer: dialoguer avec un serveur web

Généralités. javadoc. Format des commentaires. Format des commentaires. Caractères spéciaux. Insérer du code

Hébergement de site web Damien Nouvel

Vulnérabilités et sécurisation des applications Web

Guide de réalisation d une campagne marketing

Création d un formulaire de contact Procédure

Campagnes d ings v.1.6

RÉALISATION D UN SITE DE RENCONTRE

Sage 100 CRM - Guide de la Fusion Avancée Version 8. Mise à jour : 2015 version 8

SOLUTION D ENVOI DE SMS POUR PROFESSIONNELS

L offre Kwixo. Présentation. FIA-NET Europe RCS Luxembourg B avenue Pasteur, L-2311 Luxembourg

Module Communication - Messagerie V6. Infostance. Messagerie

Attaques de type. Brandon Petty

Bon ben voilà c est fait!

Documentation pour l envoi de SMS

Installation d un serveur HTTP (Hypertext Transfer Protocol) sous Débian 6

Mise en place d un serveur Proxy sous Ubuntu / Debian

ISPConfig Documentation

Guide d implémentation. Réussir l intégration de Systempay

D'UN SITE INTERNET LES S D'UN SITE INTERNET PRATIQUE ET PERFORMANT PRATIQUE ET PERFORMANT

Couche application. La couche application est la plus élevée du modèle de référence.

Mysql avec EasyPhp. 1 er mars 2006

PLUGINS Guide du Développeur STEPHANE FERRARI. P l u X m l 5.4

Rapport de stage Nicolas PLAZE Licence Pro A2I. Rapport de Stage LICENCE PRO A2I. Société INFHOTIK. Nicolas PLAZE

Dans nos locaux au 98 Route de Sauve NÎMES. Un ordinateur PC par stagiaire, scanner, imprimante/copieur laser couleur

Module de livraison DPD Magento

Release Notes pour les utilisateurs

Introduction. Passage de sites statiques à des sites dynamiques

FOIRE AUX QUESTIONS PAIEMENT PAR INTERNET. Nom de fichier : Monetico_Paiement_Foire_aux_Questions_v1.7 Numéro de version : 1.7 Date :

Implenia Enregistrement des fournisseurs. Étape par étape

Le front office (utilisateur client):

Application Web et J2EE

INFORM :: DEMARRAGE RAPIDE A service by KIS

Authentification et contrôle d'accès dans les applications web

PHP 4 PARTIE : BASE DE DONNEES

ADF 2009 Sécurisation d applications PHP/MySQL

Fiche diagnostic du besoin

Module http MMS AllMySMS.com Manuel d intégration

Plateforme Systempay Descriptif de l interface avec la page de paiement

INTRODUCTION A JAVA. Fichier en langage machine Exécutable

Fonctionnalités SOLUTION E-COMMERCE VERSION /03/2014. ID2I Groupe DFM - Tél. : V /03/ :05

Manuel d utilisation JeResilieMonContrat.com. pour l agent

Intégration e-commerce. Version 0.5

DOM - Document Object Model

HTML. Notions générales

Utilisation de l espace personnel (Serveur DATA)

Guide d utilisation des services My Office

E-TRANSACTIONS. Guide du programmeur API Plug-in. Version 1.1

ISPConfig Documentation

PHP CLÉS EN MAIN. 76 scripts efficaces pour enrichir vos sites web. par William Steinmetz et Brian Ward

Modes Opératoires WinTrans Mai 13 ~ 1 ~

FAIRE UN PAIEMENT TIPI

Les outils marketing. Page 1

Programmation Web TP1 - HTML

Guide d implémentation Interface avec la plateforme de paiement

1 Position du problème

EXTENSION WORDPRESS. Contact Form 7. Proposé par :

PHP 5.4 Développez un site web dynamique et interactif

Tests de montée en charge avec Tsung

Guide Utilisateur - Guide général d'utilisation du service via Zdesktop ou Webmail v.8. Powered by. - media-2001.communication &.

Créer un site e-commerce avec Dreamweaver CS4 et PHP/MySQL

Développement des Systèmes d Information

Transcription:

Cours4 : Les sessions Les sessions Plan Gestion d un caddie

Les sessions Rappel : Plusieurs possibilités existent pour transmettre des variables de pages en pages dans site web : les divers champs des formulaires, qu'ils soient hidden ou non. passer les variables directement à travers les liens (URL). utiliser les cookies. utiliser les sessions.

Les sessions Une session permet de faire circuler différentes variables (objet, tableau,..) à travers les pages d un site web Une session correspond à la durée de vie d un internaute visitant un site Web Depuis PHP 4, un module contient un ensemble de fonctions permettant de créer, détruire ou vérifier des sessions

Les sessions : les fonctions Les fonctions de gestion des sessions : session_start ( ) : Démarre une session session_register($var) : Enregistre la variable de session $var session_unregister($var) : Efface la variable de session $var session_is_registered($var) : pour la session en cours Vérifie si une variable est déclarée session_id( ) : Retourne l'identifiant de la session en cours session_name( ) : Retourne le nom de la session en cours session_unset( ) : Détruit toutes les variables de la session en cours session_destroy( ) : Détruit la session en cours..

Gestion des sessions Pour le suivi de session sous PHP, il faut appeler la fonction session_start( ) dans chaque script PHP où cette gestion de session est nécessaire avant toute balise HTML La fonction session_start( ) crée une nouvelle session si aucune n existe récupère la session existante sinon,

Gestion des sessions chaque session a un identifiant différent (ce qui permet d'éviter la confusion entre les connexions). toutes les variables enregistrées au cours d une session, seront accessibles dans les pages en utilisant : Soit le tableau $_SESSION Soit les fonctions : session_register, session_is_register ou session_unregister Les variables de session doivent être détruites lors de la déconnexion.

Exemple : création d un espace membre Un site possède une section membre où chaque membre devra s identifier avant de pouvoir y entrer. On souhaiterait bien être sur qu'il s'agisse toujours de ce même membre qui est connecté. On a un formulaire (index.html) permettant au visiteur de se connecter à une section membre

Exemple1 : fichier index.html Le code source du formulaire <html><title>formulaire d'identification</title><body> <form action="login.php" method="post"> Login : <input type="text" name="login"><br> Mot de passe: <input type="password" name="pwd"><br> <input type="submit" value="connexion"> </form> </body></html>

Exemple1 :le fichier login.php Exemple : Utilisation de $_SESSION <?php $login_valide = "dupont "; $pwd_valide = "mmm1"; if (($_POST['login']==$login_valide) && ($_POST['pwd']== $pwd_valide )) { session_start(); $_SESSION[ monlogin'] = $_POST['login']; $_SESSION[ monpwd'] = $_POST['pwd']; // on redirige le visiteur vers une page membre header('location: membre.php'); } else {?> // puis on le redirige vers la page d'accueil header('location: index.html'); }

Exemple1 : fichier membre.php <?php session_start (); // On récupère les variables de session if (isset($_session['monlogin']) && isset($_session['monpwd'])) { echo "<html><title>page des membres</title><body>" ; echo "Votre login est : ".$_SESSION['monlogin']. "<br>"; echo "votre mot de passe est : ".$_SESSION['monpwd']. "<br>"; // On affiche un lien pour fermer notre session echo '<a href="./logout.php">déconnexion</a>'; } else { echo 'Les variables ne sont pas déclarées.'; }?>

Exemple1 : fichier logout.php <?php session_start (); // On démarre la session // On détruit toute les variables de notre session session_unset (); // On détruit notre session session_destroy (); // On redirige le visiteur vers la page d'accueil header ('location: index.html');?>

Exemple2: login.php Exemple : utilisation de la fonction session_register <?php $login_valide = "dupont"; $pwd_valide = "mmm1"; if (($_POST['login']==$login_valide) && ($_POST['pwd']== $pwd_valide )){ session_start(); $monlogin = $_POST['login']; session_register ( monlogin ); $monpwd = = $_POST[ pwd']; session_register( monpwd ); // on redirige le visiteur vers une page membre header('location: membre.php'); } else { // puis on le redirige vers la page d'accueil header('location: index.html'); }?>

Gestion d un caddie (panier,.)

Gestion d un caddie (panier) Le fonctionnement du caddie L'utilisateur parcourt le catalogue disponible sur le Web, choisit les produits qu'il désire acheter, et en fin de parcours, regarde une dernière fois le contenu de son caddie afin d'y apporter quelques éventuelles modification avant de valider l'achat et de payer le tout

Gestion d un caddie Définition des actions Lors de l'utilisation d'un caddie, l'utilisateur à quelques commandes de base : ajouter un produit dans le caddie (utilisé pendant le parcours du catalogue), retirer un produit de la commande (utilisé lors de l'affichage du contenu du caddie), actualiser le caddie (idem, affichage du caddie - pour les clients qui voudraient ajouter ou enlever des produits) valider la commande.

Gestion d un caddie Utiliser : une session : au début de chaque page du site : session_start(); Un tableau associatif Exemple : session_register("ref"); $_SESSION['ref '] = array(); session_register("qte"); $_SESSION['qte']= array(); Le tableau " ref" contiendra la référence du produit Le tableau "qte" contiendra la quantité commandée du produit

Gestion d un caddie Ajouter un élément dans une variable session de type tableau : Exemple : le produit dont l identifiant est «b23» et la quantité commandée est «7» $_SESSION['ref'][$i]="b23" ; $_SESSION['qte'][$i]=7; 17

Gestion d un caddie Récupérer le ième élément du tableau $_SESSION['ref'][$i]; $_SESSION['qte'][$i]; Supprimer le ième élément de la variable session de type tableau (ex : le tableau ref) Array_splice($_SESSION['ref'], $i, 1); Récupérer le nombre d éléments du tableau «ref» COUNT($_SESSION['ref']);

Gestion d un caddie Vider un tableau $_SESSION[ ref ]=array(); Afficher le contenu d une variable session du type tableau Exemple: les tableaux «ref» et «qte» représentant le contenu du caddie <?php for ($i=0 ; $i< COUNT($_SESSION[' ref ']) ; $i++){ echo $_SESSION[' ref '][$i]; echo $_SESSION[' qte '][$i]; }?>

Le mail

Le mail : la fonction mail Pour envoyer un mail depuis un script PHP, il suffit d utiliser la fonction mail Syntaxe (non exhaustive) mail($dest, $sujet, $message, $entete); $dest : adresse mail du destinataire $sujet : sujet du message $message : corps du message à envoyer $entete : en-têtes à ajouter dans le message (chaque ligne de l en-tête doit être terminée par \r\n)

Le mail : la fonction mail Les lignes à ajouter sont introduites par les motsclés suivants : From: : adresse de l émetteur Cc: : adresses des personnes en copie (séparées par des,) Reply-To: : adresse à laquelle la réponse au message doit être envoyée X-Mailer: : nom de l agent de mail envoyé Content-Type: précise le type de contenu du mail (permet d envoyer du HTML, des messages suivant la norme MIME...)

Exemple : le mail <?php $dest = dupond@wanadoo.fr'; $sujet = 'le sujet'; $message = 'Bonjour! '; $entete = "From: dubois@laposte.net". "\r\n" ; $entete.= "Reply-To: dubois@laposte.net". "\r\n" ; $entete.= "X-Mailer: PHP/". phpversion( );?> mail($dest, $sujet, $message, $entete);