Yvanoph Karim Modérateur ABC du Web Karim Yvanoph WebMaster 3Alannet webmaster@abc-du-web.com BP 116 7080 Menzel JEMIL Gouvernorat de BIZERTE Tunisie Yvanoph www.abc-du-web.com 0021625332209
Retour à l'Accueil du Mode d'Emploi du Forum XWebDesignor ?
   Accueil   Aide Rechercher Tags Identifiez-vous Inscrivez-vous  
Pages: [1]   Bas de page
  Imprimer  
Auteur Fil de discussion: [php] [MySQL] - Connexion à une Base de données, méthode ?  (Lu 59802 fois)
carpiste
Newbie
*
Hors ligne Hors ligne

Messages: 1


Voir le profil WWW
« le: Ven. 20 Février 2015 à 17:52:14 »

Bonjour,

J'ai créé un JSC pour que les clients puissent se connecter à la base Mysql et ça fonctionne.
Cependant, si le client va sur une page publique puis qu'il retourne sur les pages réservées aux clients, je n'arrive pas à retrouver les variables de sessions du client car elles doivent en être exécutées php avant l'en tête :

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 .../...">

Comment faire pour mettre ces lignes en php avant le tout ?

Voici mon code :

<?php
session_start();
if(!isset($_SESSION['Identifiant']))$P_Ide="";
else $P_Ide=$_SESSION['Identifiant'];
if(!isset($_SESSION['Passeword']))$P_Pas="";
else $P_Pas=$_SESSION['Passeword'];
?>



Merci, à+

Journalisée
yvanoph
Administrator
Hero Member
*****
Hors ligne Hors ligne

Messages: 2 818


Le PIRE des défauts, ne pas RECONNAÎTRE une erreur


Voir le profil WWW
« Répondre #1 le: Ven. 20 Février 2015 à 21:45:53 »

 ... bienvenue au "Club" ? Et vous attaquez d'emblée avec une question fort intéressante d'ailleurs ?


Mais auparavant un "détail" à connaître... Je suis "absent" tous les Vendredis après midi, non pas à cause d'une "Reliquegion" (Je suis "abonné" à toutes, pour pouvoir bosser tranquille dans tout pays, pffff...), mais tout simplement pour obligations auprès d'une Association d'entre aide, qui parfois peut me prendre jusque vers 22 H et même parfois plus, car c'est selon, et je ne sais JAMAIS d'avance pour combien de temps j'en aurais ? Uniquement quand ça commence, ensuite ça finit ... quand ça finit !


Alors à votre propos, plusieurs remarques ?

En ce qui concerne la Base de Données elle même, je suppose que vous l'avez bien déclarée dans XWebDesignor ? Et que tout passe bien ? C'est facile à contrôler, par FTP vous devriez trouver un fichier nommé connexion.php contenant quatre lignes, à savoir l'adresse serveur, le pseudo d'accès autorisé, le mot de passe (En Base 64 de mémoire...), et quand même pour le moins le Nom de la DB ?

Ceci vérifié et fiable, il faut savoir qu'il est IMPOSSIBLE dans XWD d'écrire du Code avant la Balise "<head>", et là encore en prenant quelques précautions...
Il est beaucoup plus facile d'introduire du Code dans le "<body>", qui est en bonne logique bien plus "large d'esprit" que la partie très technique du "<head>" ?

Ces deux conditions d'usage posées, passons au vrais morceaux à étudier ?


Tout d'abord, votre Code donné ne me fait pas apparaître seulement une connexion à la Base de Données ? Devons-nous supposer que vous l'avez déjà effectué ailleurs ? Via normalement un "include($connexion)" par exemple, sinon un "global", cette variable initiant la Connexion au préalable de toute autre requête ? Ne serait-ce que pour vérifier qu'un #MdP, Mot de Passe corresponde à un #Client ou #Membre, mais encore faut-il être capable d'aller les lire, d'identifier le #Champ #Client, puis la correspondance du #Code ?
A ce niveau là,je ne vous cache pas que j'ai comme un gros doute, car vous ne demanderiez pas à insérer le #Code donné avant le "<head>" sans avoir au préalable établi la connexion ? ? ?

Donc déjà un sujet à éclaircir...


Ensuite, une fois connecté et les valeurs validés, elles seront effectivement actives dans la Page ! Mais dès que vous quitterez la #Page, la Connexion sera rompue... Donc si vous voulez la réactiver dans une nouvelle #Page, il faudra recommencer tout le toutim à chaque arrivée sur une nouvelle #Page ?

Sauf si vous désirez conserver cette Connexion active, quelque soit la #Page du #Site visitée ? Auquel cas il vous faut obligatoirement stocker ces données en les enregistrant quelque part... Normalement et le plus courant par #Cookie sur la #Machine du #Visiteur !
A vous de savoir quelles données stocker, voire lesquelles ajouter au fur et à mesure des Visites ? Et sous quel format, crypté ou non selon la confidentialité, mais surtout quelles durées de vie pour chaque ligne de valeur ?


Astuce : Bon à savoir, ce genre de "<script>" existe déjà dans le Module E-Commerce d'XWebDesignor / #XWD ! Sous la forme JavaScript, ce qui ne pose aucun problème quant à l'usage ?


Il vous est donc possible de tout gérer, enfin, peu ou prou selon vos envies et besoins via JavaScript, en exploitant ou non l'existant, puis de passer ces #Variables à un Module dédié en php qui lui ira les lire, les mémoriser et/ou les réécrire ou en ajouter à la demande dans l'existant ? Lire à cet effet :

Lien : Exécuter du php dans XWebDesignor ? FACILE ! ! !

Tous les chemins possibles sont à votre disposition, reste à choisir entre "faire du propre", des compromis, vos connaissances et surtout réellement vos propres besoins ?


A approfondir, bien cordialement, Yvanoph---

Journalisée

La théorie, c'est quand on sait tout mais qu'absolument rien ne fonctionne !

La pratique, c'est quand tout fonctionne "farpaitement" sans vraiment savoir pourquoi, ni d'ailleurs  chercher à comprendre...

Chance inouïe, ici théorie et pratique fonctionnent  !
yvanoph
Administrator
Hero Member
*****
Hors ligne Hors ligne

Messages: 2 818


Le PIRE des défauts, ne pas RECONNAÎTRE une erreur


Voir le profil WWW
« Répondre #2 le: Dim. 22 Février 2015 à 14:58:52 »

Bonjour / Bonsoir à toutes et tous, il existe une autre méthode, que je qualifie de plus "sauvage" car bien que très correcte si regardée de façon déontologique, elle n'est absolument pas pérenne dans le temps en employant XWebDesignor ?
En effet, le Code sera parfait (Enfin, si vous maniez son écriture correctement...), et sera validé par le W3C sans aucun problème et sans tricher ?


Pour ce faire, il suffit de créer sa #Page correctement via XWebDesignor /XWD, la publier, vérifier son fonctionnement correct d'un bout à l'autre de chaque Bouton, Y COMPRIS en vérifiant les #Info-Bulles, de l'optimiser au mieux en ce qui concerne l'ordre de chargement, le poids des ressources et donc tout particulièrement les #Images, et tout enfin correct sur l'ensemble de ces plans, valider sa conformité tant aux Normes Html que css par le W3C ?

Tout ceci au meilleur niveau, récupérer la #Page par FTP, et éditer son #Code avec n'importe que éditeur de Texte BASIQUE (Dit autrement, éviter Word et autres, le nec plus ultra étant toujours Notepad++...), encadrer l'ensemble du #Code Html par un "echo" en échappant soigneusement les trémas ", clore le #Code par la "#Balise" de fin de php et l'ouvrir en toute première ligne de la même façon ?

Puis juste après l'ouverture introduire le #Code php souhaité... Et enregistrer l'ensemble sous le MÊME Nom de Fichier, mais avec l'extension .php ! ! !


Bien évidemment, si vous avez fait l'enregistrement directement par #FTP, et si votre #Code est correct, vous devez tout voir fonctionner si vous l'appelez directement depuis la barre d'adresse de votre #Navigateur ? Sinon rectifiez les boulettes que vous avez créées...

GROS inconvénient, PLUS AUCUN BOUTON dans XWD ne sait joindre cette Page puisque tous connaissent maPage.htmlNon, non, NON ET NON ! mais sûrement pas ATTENTION, Danger ! ! ! maPage.php ! ! !


Là, de fait, vous avez deux choix possibles...

Le premier consiste à ouvrir ladite #Page dans XWD, après bien évidemment en avoir fait une copie de secours... Puis de TOUT supprimer son contenu, Y COMPRIS les Pages de Fonds imbriquées ? Obtenir une Page VIDE de chez VIDE quoi ?
Et dans ce grand vide, introduire via un #[Composant] "Html" l'ensemble du Code comprenant le php ET tout l'html imbriqué avec ses échappements et UNIQUEMENT "ça" ! De fait l'intégralité du #Code contenu dans votre éditeur !
Renommez votre #Page juste en rajoutant .php pour l'extension de fichier, XWD comprendra et ne rajoutera PAS l'extension .html. Puis publier, mais AUPARAVANT penser à sauvegarder le fichier maPage.css car XWD ne voyant plus de fichier maPage.html va le supprimer... Et là adieu toutes les mises en forme ? Votre #Page ne ressemblera plus à rien cette fois ! ! !
Et ne pas oublier d'aller cliquer dans toutes les #Pages qui contiendrait un #Bouton pointant cette #Page, #XWD normalement le faisant de lui même, mais dans le cas d'un renommage en .php, pas sûr du tout qu'il constate et obtempère, pour publier TOUTES les #Pages ayant ce genre de Bouton, afin qu'ils pointent tous vers le fichier en .php et non plus vers celui en .html ?


La deuxième solution, plus pérenne, consiste à rajouter à votre nom de fichier en php un _b par exemple en plus pour le différencier, ainsi vous aurez maPage.html, maPage.css qui fait la paire et maPage.php renommé en maPage_b.php ?
Dans le Code en php trouver la ligne <link src=\"maPage.css\" .../... et rajouter là aussi le _b pour obtenir <link src=\"maPage_b.css\" .../... puis par FTP renommer le fichier css en lui rajoutant aussi ce complément ? Sinon ils ne vont pas se trouver... Et NE PAS OUBLIER à la fin de faire un chmod pour n'autoriser QUE la lecture, puis une sauvegarde, au cas ou XWD ferait un nettoyage...
Là, en finalité vous avez chez votre hébergeur un maPage.html, généré par XWD mais qui ne vous convient pas, un maPage_b.php et son demi frère maPage_b.css.

Alors dans #XWD maintenant, dupliquer la #Page maPage, en changer le type pour en faire une "Page de Fond" après avoir rajouté à son Nom de #Page une "Copie" par exemple, ou "Secours", ou encore "Org" ?
Vider totalement celle active, lui recoller le nom de fichier maPage s'il a disparu, et se contenter de lui mettre comme SEUL et UNIQUE [Composant] un "Redir Auto" paramétré à 0 seconde et renvoyant sur ./maPage.php, tout simplement...
Vous pouvez même donner à cette Page des dimensions genre 16x16 px puisqu'elle ne contient RIEN hormis un renvoi automatique ? Et publier !
Evidemment, à la publication, #XWD aurait écrasé le fichier maPage.css volumineux pour le remplacer par le même mais VIDE, d'où l'intérêt de le renommer via un complément ?
Et d'où l'intérêt tout aussi bien compris d'avoir une copie d'une Page "normale", cachée en mode "Page de Fond", car il suffira de la changer de type pour récupérer les fichiers générés ou la modifier avant de la repasser en "Page de Fond" ?

Astuces :
Le SiteMap contient bien un BON Nom de Fichier qui lui renverra ensuite sur une Page en php,
la Page en html ne sera JAMAIS affichée mais ce sera celle en php qui le sera,
toutes vos #Pages pointeront toujours la bonne via celle en html, ridicule certes en dimension et #Poids mais fonctionnelle, contenue dans ;#XWD ?


Bref, c'est apparemment un peu plus complexe puisqu'il y a des copies à effectuer voire des sauvegardes à ne pas oublier de faire mais ... ça FONCTIONNE !
Néanmoins, personnellement, je préfère faire effectuer mes appels à php via un bon #Code introduit directement dans les Pages, car avec une maintenance plus facile et moins de "galipettes" à faire en cas de publication complète ? Alors qu'en finalité ce sera identique pour le #Visiteur !
Dit autrement, pour un résultat identique en "#FrontOffice", bien plus facile à gérer en "#BackOffice"...


Par ailleurs, il faudra quand même aussi penser à accéder à la #DB, ";#DataBase" ou Base de Données au préalable, via un "include" du "<script>" généré par XWebDesignor, ou via un Code personnel appelant ces #Variables pour les placer en "global" ?


J'aurais été curieux de voir votre #Page elle même, voire si besoin de confidentialité m'en passer l'adresse via #MP ?


Bref, en espérant que dans toutes ces astuces et méthodes vous puissiez trouver votre bonheur, bien cordialement, Yvanoph---

Journalisée

La théorie, c'est quand on sait tout mais qu'absolument rien ne fonctionne !

La pratique, c'est quand tout fonctionne "farpaitement" sans vraiment savoir pourquoi, ni d'ailleurs  chercher à comprendre...

Chance inouïe, ici théorie et pratique fonctionnent  !
Tags: DB: Accès Base de Données: Accès php Base de Données: Connexion DB: Connexion Connexion DB / Base de Données 
Pages: [1]   Haut de page
  Imprimer  
 
Aller à:  

Propulsé par MySQL Propulsé par PHP Powered by SMF 1.1.20 | SMF © 2013, Simple Machines
Soutenir Yvanoph par un Don ?
Boréal - V 1.0 by Yvanoph | Sitemap
XHTML 1.0 Transitionnel valide ! CSS valide !
Page générée en 0.076 secondes avec 21 requêtes.