Créée le, 19/06/2015

 Mise à jour le, 19/05/2019

Visiteurs N°  




Accueil
Nouveau Blog Nouveautés Moteur de Recherche Votre Caddie Pour Vos Achats Votre Espace Membre Vos Signets et Vos Jeux Préférés Page de Bienvenue Statique Site en Français Site en Anglais
Sommaires
Électronique Fondamentale Technologie Fondamentale Testez vos Connaissances Électronique Théorique Digitale Électronique Pratique Digitale Lexique Électronique Numérique Data book TTL Data book CMOS Dépannage TVC Mathématique
Micro-ordinateurs
Théorique des Micro-ordinateurs Testez vos Connaissances Pratique des Micro-ordinateurs Glossaires sur les Ordinateurs
Physique
La lumière Champ d'action Rayonnement Électromagnétique
Technologies
Classification des Résistances Identification des Résistances Classification des Condensateurs Identification des Condensateurs
Formulaires Mathématiques
Géométrie Physique 1. - Électronique 1. 2. - Électronique 1. 3. - Électrotechnique 1. 4. - Électromagnétisme
Accès à tous nos Produits
E. T. F. - Tome I - 257 Pages E. T. F. - Tome II - 451 Pages E. T. F. - Tome III - 611 Pages E. T. D. - Tome I - 610 Pages N. B. M. - Tome I - 201 Pages E. T. M. - Tome I - 554 Pages Business à Domicile Ouvrages 34 pages gratuits Nos E-books Logiciel Géométrie Logiciel Composants Électroniques
Aperçu de tous nos Produits
E. T. F. - Tome I - 257 Pages E. T. F. - Tome II - 451 Pages E. T. F. - Tome III - 611 Pages E. T. D. - Tome I - 610 Pages E. T. M. - Tome I - 554 Pages Logiciel Géométrie Logiciel Composants Électroniques
Nos Leçons aux Formats PDF
Électronique Fondamentale Technologie Fondamentale Électronique Théorique Digitale Électronique Pratique Digitale Théorique des Micro-ordinateurs Mathématiques
Informatique
Dépannage Win98 et WinXP et autres Dépannage PC Glossaire HTML et Programmes PHP et Programmes JavaScript (en cours de travaux) Création de plusieurs Sites
Forums
Forum Électronique et Infos Forum Électronique et Poésie
Divers et autres
Formulaire des pages perso News XML Statistiques CountUs Éditeur JavaScript Nos Partenaires et nos Liens Utiles Gestionnaire de Partenariat Nos Partenaires MyCircle Sondages 1er Livre d'Or 2ème livre d'Or

Signets :
  Leçons suivantes        Leçons précédentes     Bas de page
  Cliquez ici pour la leçon suivante ou dans le sommaire prévu à cet effet

Implémentation d'un Caddie (4ème partie) :


Implémentation du paiement :

Lorsqu'un utilisateur clique sur le bouton Achat, nous nous occupons de la transaction avec le script process.php et celui de order_fns.php. La figure 10 représente le résultat d'un récapitulatif d'un paiement de votre commande puis, en cliquant une seconde fois sur le bouton Achat, le paiement est effectué et, nous avions choisi PayPal. Bien sûr, il y a d'autres Sociétés bancaires qu'on vous laisse le soin de choisir.

Dans tous les cas, il faut systématiquement ouvrir un compte bancaire que l'on verra dans un instant.


Implementation_Recapitulatif_Commande.png

Le code de process.php se trouve dans le Listing 16.


Listing 16. : Ce script process.php s'occupe de la transaction du client et affiche son résultat.


L'essentiel de ce script se trouve dans les lignes suivantes :

        if (process_card($_POST))

    {

            // Caddie vide.

        session_destroy() ;

        echo "<BR/><BR/>&nbsp;&nbsp;&nbsp;&nbsp;Nous vous remercions d'avoir acheté nos ouvrages électroniques et informatique. Votre commande a été enregistré et vous recevrez par votre E-Mail.<BR /><BR />" ;

        display_button("index.php", "continue-shopping", "Continue Shopping") ;

    }

Comme dans les autres fonctions qui font directement référence à $_POST, dans certains cas, on peut toujours activer track_vars. Nous nous occupons ensuite de la transaction, et si tout se passe bien, nous fermons sa session.

La fonction qui s'occupe du traitement de la carte de crédit se contente de renvoyer true.

Pour un site réel, vous devez choisir un mécanisme de validation de la transaction. Grâce à la fonction ci-après de process_card() du fichier order_fns.php. Vos clients peuvent faire une ou plusieurs transactions que si vous eûtes un id marchant (identification du marchant) auprès de PayPal par exemple, afin que vous puissiez vendre vos articles et, nous vous indiquons ces paramètres :

Listing 16 - 1. : Cette fonction process_card() de order_fns.php - S'occupe de la transaction du client vers PayPal.


A noter : La fonction display_button() du fichier order_fns.php ci-dessous, vous ne devez pas mettre d'espaces entre les mots, tout doit être serré afin que cette dernière puisse fonctionner correctement. Ensuite, vous devez mettre également vos paramètres personnels tels que E-Mail et votre URL de votre site mentionné en couleur rouge sans espaces.

    display_button("https://www.paypal.com/cgi-bin/webscr?cmd=_xclick&business=Mettez_Ici_Votre_E-Mail_Sans_Espaces&item_name=$Quantite&amount=$Totaux&no_shipping=0
&no_note=1&currency_code=EUR&lc=FR&return=Mettez_Ici_Votre_URL_de_Votre_Site_Sans_Espaces
&bn=PP-BuyNowBF", "purchase", "Purchase") ;

Vous pouvez notamment faire appel à un service de validation de transactions. Il existe dans ce cas plusieurs possibilités, en fonction de l'endroit où vous vous trouvez. Certains de ces services sont effectués en temps réel, contrairement à d'autres. Vous pouvez faire votre choix en fonction du service que vous proposez. S'il s'agit d'un service en ligne, il peut être intéressant de valider la transaction en temps réel. Si vous vendez des articles matériels, c'est un peu moins important. De toute manière, ces fournisseurs de services vous épargnent de prendre la responsabilité d'enregistrer les numéros de carte de crédit.

Enregistrer les numéros de carte de crédit dans votre base de données. Nous ne vous recommandons pas cette approche en cas de fraude quelconque.

Ces considérations terminent notre étude du module de paiement et du caddie.

Implémentation d'une interface d'administration :

L'interface d'administration que nous avons implémentée est très simple. Nous avons seulement mis en place une interface Web pour la base de données, complétée par un mécanisme d'authentification. Nous nous sommes principalement servi du code que nous avions mis en œuvre dans une de nos leçons au chapitre 13. Nous l'avons recopié dans ce chapitre, pour compléter notre étude, mais sans nous attarder dessus.

L'interface d'administration demande aux utilisateurs de se logger avec le fichier login.php, qui les renvoie ensuite au menu d'administration, admin.php. La page de login est présentée à la figure 11. Nous vous rappelons son code tout simplement.


Login_du_Caddie.png

Son code est très simple :

Listing 17 : Ce script de login.php pour accéder au menu d'administration.


Le code du menu d'administration est présenté dans le Listing 17. 1.


Listing 17. 1. : Ce script de admin.php authentifie l'administrateur et lui permet d'accéder aux fonctions d'administration.


Le menu d'administration est présenté à la figure 12.


Menu_Administration_du_Caddie.png

Ce code vous est probablement familier. Il ressemble, en effet à un script du chapitre 13 concernant les signets ou les Bookmarks. Lorsque l'administrateur arrive sur ce script, il peut modifier son mot de passe ou fermer sa session. Ce code est presque identique à celui du chapitre 13, c'est pourquoi nous allons pas l'étudier plus en détail ici.

Après l'ouverture de la session, nous identifions l'administrateur à l'aide de la variable de session $username = $_SESSION["admin_user"] = $passwd et de la fonction check_admin_user(). Cette fonction, ainsi que toutes les autres fonctions utilisées par les scripts d'administration, se trouve dans la bibliothèque de fonctions admin_fns.php.

Si l'administrateur choisit d'ajouter une nouvelle catégorie ou un nouveau livre, il arrive sur insert_category_form.php ou insert_book_form.php, en fonction de son choix. Ces scripts affichent un formulaire, que l'administrateur doit remplir. Ces formulaires sont ensuite traités par un script particulier (insert_category.php ou insert_book.php), qui vérifie que le formulaire est rempli correctement, et qui insère les nouvelles données dans la base de données. Nous nous contenterons d'étudier dans cette leçon l'insertion de nouveaux livres, puisque l'insertion d'une nouvelle catégorie est très similaire.

La sortie de insert_book_form.php est présentée à la figure 13.


Ajout_dun_Livre_du_Caddie.png

Vous remarquerez que le champ Catégorie des livres est un élément HTML SELECT. Les options de cet élément SELECT proviennent d'un appel à la fonction get_categories(), que nous avons déjà vue.

Lorsque l'administrateur clique sur le bouton Additionner le livre, le script insert_book.php est activé. Le code de ce script est présenté dans le Listing 18.


Listing 18. : Ce script de insert_book.php valide les données d'un nouveau livre et les ajoute dans la base de données.


Vous pouvez constater que ce script appelle la fonction insert_book(). Cette fonction, ainsi que toutes les autres fonctions intervenant dans les scripts d'administration, se trouve dans la bibliothèque de fonctions admin_fns.php.

En plus d'ajouter de nouvelles catégories et de nouveaux livres, l'administrateur peut modifier et supprimer ces éléments. Nous avons implémenté cette caractéristique, en réutilisant le code existant au maximum. Lorsque l'administrateur clique sur le lien Aller sur le site principal dans le menu d'administration, il se retrouve sur la page contenant la liste des catégories, index.php, et peut naviguer sur le site de la même manière qu'un utilisateur classique, en utilisant les mêmes scripts.

Cependant, la navigation des administrateurs est un peu différente. Les options proposées aux administrateurs ne sont pas les mêmes que celles des utilisateurs classiques, puisqu'ils ont enregistré la variable de session $username = $_SESSION["admin_user"] = $passwd. Par exemple, si nous reprenons la page show_book.php que nous avons déjà vue dans cette leçon, (voir figure 5 en cliquant ici), vous pouvez constater que le menu d'options est légèrement différent (voir figure 14).


Show_Book_different_pour_Administrateurs.png

Sur cette page, l'administrateur a accès à de nouvelles options : Modifier les détails du livre et Menu administrateur. Vous remarquerez également qu'aucun caddie n'est affiché dans le coin supérieur droit de la page. Celui-ci est remplacé par un bouton Déconnecté.

Le code de cette fonctionnalité, qui se trouve dans le Listing 8, est le suivant : en cliquant ici.

         if (check_admin_user())

    {

        display_button("edit_book_form.php?isbn=".$isbn."", "edit-item", "Edit Item") ; echo "<BR />" ;

        display_button("admin.php", "admin-menu", "Admin Menu") ; echo "<BR />" ;

        display_button($target, "continue", "Continue") ; echo "<BR />" ;

    }

Si vous reprenez le script show_cat.php, vous constaterez qu'il contient également ces options.

Si l'administrateur clique sur le bouton Modifier les détails du livre, il sera redirigé vers le script edit_book_form.php. La sortie de ce script est présentée à la figure 15.


Modifier_les_Details_dun_Livre_du_Caddie.png

Il s'agit en fait du même formulaire que celui que nous avions utilisé pour lire les détails d'un livre. Nous avons intégré une option dans ce formulaire pour transmettre et afficher les données d'un livre existant. Nous avons suivi la même démarche avec le formulaire des catégories de livres. Pour mieux comprendre tout cela, intéressons-nous au Listing 19.


Listing 19. : La fonction display_book_form() de admin_fns.php - Ce formulaire sert à la fois de formulaire d'insertion et de formulaire de modification.


Si nous passons en paramètre un tableau contenant les données d'un livre, ce formulaire passe en mode d'édition et remplit les champs avec les données existantes :

    <input type = "text" name = "price" value = "<?php echo $edit? $book['price'] : ''; ?>"

Nous obtenons même un autre bouton d'envoi. En fait, il en existe deux pour le formulaire d'édition (un pour mettre à jour le livre, et un autre pour le supprimer). Ces boutons appellent respectivement les scripts edit_book.php et delete_book.php, qui mettent à jour la base de données en conséquence.

L'équivalent de ces scripts pour la gestion des catégories de livres fonctionne de la même manière, à un détail près. Lorsqu'un administrateur tente de supprimer une catégorie, celle-ci n'est pas supprimée si elle contient encore des livres. Nous le vérifions avec une requête dans la base de données. Cela nous permet d'éviter certains problèmes que nous aurions en cas de suppression intempestive. Nous avons déjà abordé ces problèmes dans une de nos leçons (voir chapitre 7), en cliquant ici. Dans notre cas, si une catégorie contenant des livres est supprimée, ces livres deviennent orphelins. Il est donc impossible de savoir dans quelle catégorie ils se trouvent, il est impossible de les retrouver, en passant par l'interface du site !

Cela termine notre étude de l'interface d'administration.

A Noter : Nous avons implémenté un système de caddie relativement simple. il existe plusieurs améliorations que nous pourrions y apporter :

Pour un magasin en ligne réel, il serait intéressant d'implémenter un système de suivi de commande. Pour l'instant, on vous laisse le soin d'apporter une amélioration concernant le caddie ! C'est comme ça qu'on arrive dans la vie sur la programmation en PHP ! Nous avons fait beaucoup d'efforts de notre côté !

Les clients doivent pouvoir suivre la progression de leurs commandes sans vous contacter. Nous pensons qu'il est important qu'un client n'est pas besoin de se logger pour consulter le catalogue en ligne. Cependant, le simple fait d'authentifier les clients leur permet de consulter leurs commandes antérieures, et vous permet d'effectuer des statistiques pour essayer d'établir des profils de clients.

Pour l'instant, les images des livres doivent être transmises dans le dossier d'images par FTP, et il faut leur donner un nom correct. Il serait intéressant de pouvoir charger ces fichiers dans la page d'insertion des nouveaux livres.

Vous pouvez implémenter un système de login pour les utilisateurs, personnaliser le site en fonction des clients, et recommander des livres, ou encore proposer des résumés en ligne, des programmes de fidélisation, des systèmes de vérification des stocks, etc. ...

Cependant, nous avons regroupé tous les fichiers au format ZIP, (il suffit de les décompresser) afin que vous puissiez les télécharger avec ou sans carte bancaire concernant le caddie.

Avec Carte Bancaire, en cliquant ici. [Exemple 1].

Sans Carte Bancaire, en cliquant ici. [Exemple 1 - bis].

Pour visualiser l'aperçu, en cliquant ici. [Exemple 1 - ter].

Nous terminons ainsi cette quinzième leçon et nous verrons dans la prochaine d'autres programmes ...










Nombre de pages vues, à partir de cette date : le 23 MAI 2019

compteur de visite

    




Envoyez un courrier électronique à Administrateur Web Société pour toute question ou remarque concernant ce site Web. 

Version du site : 10. 5. 14 - Site optimisation 1280 x 1024 pixels - Faculté de Nanterre - Dernière modification : 19 MAI 2019.   

Ce site Web a été Créé le, 14 Mars 1999 et ayant Rénové, en MAI 2019.