8791 sujets

Développement web côté serveur, CMS

Bonjour à Tous,

Les script PHP savent afficher par Print ou Echo mais le résultat n'est pas terrible !
De plus, généralement en cas d'affichage de message que ce soit pour un succès ou un raté, on doit ensuite aller par Locate sur une autre page avec, usuellement dans mon cas, un retour choix par Formulaire HTML.

Le formulaire est aussi une chance face à la difficulté de faire attendre le micro en PHP (car sleep () et exit interfèrent) pour laisser un temps de lecture à l'utilisateur, l'idée est donc de transférer par SESSION un message dans une zone déterminée et les pages susceptibles de le recevoir se chargent de l'afficher de manière correcte en HTML avant d'afficher un formulaire qui, par définition, bloque le déroulement en attente du Submit.

A part, passer par un fichier ou une BD (MySQL), existe-il un moyen de récupérer des données SESSION pour utiliser en HTML ?

Merci de m'avoir lu, merci plus encore pour vos réponses. ---> RJL2730
Modifié par rjl (30 Jul 2012 - 18:33)
Hello !

Je suis pas sûr d'avoir compris tant la réponse me semble facile à trouver.

Pour stocker ou récupérer une variable en session :

// Ouverture de session
session_start();

// Donnée à récupérer / stocker
$_SESSION['mavariablesession'] = $mavariable;
$mavariable = $_SESSION['mavariablesession'];


Un petit tour sur PHP.net te permettra de comprendre en détail le fonctionnement.

En espérant t'avoir aidé.
Modifié par Anymah (30 Jul 2012 - 18:39)
Bonjour Anymah,

Je travaille souvent en PHP
a écrit :
par Print ou Echo mais le résultat n'est pas terrible
mais, je ne sais comment me servir des variables PHP (que je passe par $_SESSION[*****] d'un
script à l'autre)
dans en HTML ?
Je pense que la solution pourrait passer par des templates [i](?)[/b] mais c'est un sujet que je n'ai jamais abordé.
Merci de ton intérêt pour ce sujet @+ RJL2730
rjl a écrit :

Je travaille souvent en PHP mais, je ne sais comment me servir des variables PHP (que je passe par $_SESSION[*****] d'un
script à l'autre) dans en HTML ?



<div><?php echo $_SESSION['foo']; ?></div>


Cela dit je comprend pas pourquoi tu veux utiliser des variables de session. Ça fonctionne tout aussi bien avec des variables normales.


<div><?php echo $foo; ?></div>

Modifié par jb_gfx (30 Jul 2012 - 17:08)
Bonjour jb_gfx,

Merci de ta réponse et je comprends ton étonnement face à mes questions ; il n'y a que quelques semaines que je fais du PHP, MySQP, PDO,... et essaie de développer au plus vite (en bénévolat) un site qui devrait fonctionner à la rentrée de septembre !

Je vais tenter d'expliquer un peu mes soucis... et leur évolution.
Dans les formulaires, je bloque sans problème les questions de format ou de code et les résout dans la page elle-même avant le submit ; il n'en est pas de même de l'exploitation du Formulaire où je trouve des incohérences ou plus souvent des problèmes avec les demandes dans MySQL (absence de l'enregistrement cherché, présence préalable d'un enregistrement à créer,...).

En pratique, ces scripts sont souvent en pur PHP sans environnement HTML ! Comme je dois alors retourner au choix d'une fonction (sur la BD) ou d'une codification enregistrement, il m'est plus facile de transmettre mon message d'erreur, voire de "bon traitement" par $_SESSION[...] pour l'afficher au-dessus du Formulaire donc dans une page précédente ; Problème alors, je ne sais pas récupérer mes infos $_SESSION[...] pour les afficher en HTML, sachant que je dois passer en PHP pour les atteindre...

En cherchant, j'ai cru comprendre que c'était possible via les templates mais ça me paraît un nouveau monument à découvrir (choix d'un moteur... disponible chez mon hébergeur..., étude au moins à minima du fonctionnement, etc...).

En écrivant ceci, je me demandais "pourquoi j'ai fait compliqué quand je pouvais faire simple" : une ouverture PHP inclus simplement son contenu y compris dans du HTML à l'endroit où elle survient... ? ; La réponse est peut-être là !

Tu vois les gouffres qui sont susceptibles de me bloquer, même si parfois je connais la réponse mais tant de choses sont nouvelles pour moi en ces domaines !...

Merci de m'avoir obligé à rédiger donc à clarifier le sujet.
@+ --- > RJL2730
PHP est déjà un langage de template. Tout ce que tu fais avec un système de template tu peux le faire directement en PHP.
Re,
Tu le vois, je reste dans le théorie (entre forums, tutos et livres) !
En l'occurrence, le livre d'Eric Daspet & Cyrille Pierre de Geyer "PHP avancé" m'a permis de lire un chapitre (25 pages sur "Les Templates") ou plus exactement les moteurs de templates (PHPlib, smarty ou Templeet) qui construisent automatiquement la page HTML à éditer à partir d'une page HTML et d'une autre page PHP.
Tu n'as pas contredit ma position précédente et même l'accrédites en citant PHP comme Template.
Donc un grand merci pour cet appui sur un sujet que je vais tout simplement clore... sauf à ce que je ne m'en sorte pas dans les prochains jours... J'en doute;.
Bien cordialement et @ ---> RJL2730
Modifié par rjl (30 Jul 2012 - 18:18)