Bienvenue sur les forums conseil & création · S'enregistrer

Se connecter automatiquement

Forums » PHP & MySQL » creer un cookie d'impression ? · Envoyer le lien

Par vince87000, le 16 Sep 2009, 15:55 Revenir en haut de page Répondre en citant

Bonjour,
Nouveau en prog et nouveau sur ce forum je voudrais savoir s'il possible de créer un cookie php ne permettant qu'une seule impression d'une page. Dans l'idée, l'internaute imprime la page et s'il réessaye, un message d'alerte le prévient qu'il l'a déjà imprimé.
Ca peut paraître simple mais je débute, et mon niveau en prog est proche de niveau 0
Par Cédric, le 24 Sep 2009, 22:37 Revenir en haut de page Répondre en citant

Bonsoir et bienvenue sur le forum Wink

Citation:
Ca peut paraître simple mais je débute

En informatique, il n'y a pas de question simple... que des réponses compliquées Laughing

Citation:
s'il possible de créer un cookie php


Déjà première précision, ce n'est pas à proprement parler un cookie "php" mais tout simplement un cookie (fichier contenant des informations stockées sur le poste "client", le PC du visiteur). Ce qui peut changer, c'est la façon de créer / modifier ce cookie. En l'occurence PHP (qui demande la modification via l'en-tête HTTP de la page) mais aussi avec javascript (ou d'autres langages).
=> voir cette page.

Citation:
créer un cookie [...] ne permettant qu'une seule impression d'une page


Donc pour en revenir à ta question, la réponse est simple: un cookie ne peut pas empêcher l'impression de la page... qu'elle soit déjà imprimée ou non.

En creusant un peu, j'imagine qu'on peut trouver des "subterfuges"... je pense à une chose un peu compliquée à expliquer en détail (surtout que tu débutes)... en gros si je te dis:

Cédric a écrit:
utiliser une feuille de style spécifique pour l'impression (inclusion d'un fichier de style avec media="print"). Rendre cette feuille de style dynamique (donc générée avec PHP): si le cookie n'est pas créé on renvoie la feuille de style classique et on crée le cookie ("page_imprimee=1" par exemple). A la seconde tentative d'impression, donc au second chargement de notre "feuille de style dynamique", PHP va retrouver notre cookie et donc renvoyer une autre feuille de style.

Il suffit de renvoyer un body {display:none;} pour que le texte ne s'imprime pas (le mieux étant d'aller plus loin en masquant tout le texte... sauf la balise contenant le message "page déjà imprimée")


==> est-ce que tu comprends un peu le cheminement?

Je n'ai pas testé mais c'est la seule possibilité qui me vient à l'esprit... sachant que ce n'est pas fiable à 100% (et qu'il n'existe aucune méthode fiable pour ça)!!! Ca rebutera simplement les néophytes.

C'est pour faire quoi au juste? Pas pour être indiscret, mais il y a peut-être d'autres solutions?!

Cédric

Forums » PHP & MySQL » creer un cookie d'impression ? · Envoyer le lien