Afficher un message sans echo, ni print

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Afficher un message sans echo, ni print

par jojolapine » 05 oct. 2007, 14:02

oups sorry... :oops:
je vais me recoucher.... :arrow:

par Truc » 05 oct. 2007, 13:55

quand je dis interprété, je dis que le code s'exécute normalement comme du PHP.
Est_ce que tu as regardé la source de ta page sous safari?
Depuis 2005 ce cher Dux est peut être déjà marié, changé de méthode ou encore changé de métier et safari à bien changé aussi depuis :wink:

@Patriboom
et pourquoi poser cette question dans un vieux sujet au lieu d'ouvrir le tien que tu pourras tager [Résolu] toi même par la suite wahou fantasitique :lol:

par Berzemus » 05 oct. 2007, 09:38

Par contre pour en revenir a ce que tu dis , un serveur web reconnait le language d'un fichier par son extension exemple si tu met du php dans un fichier .txt il ne sera pas éxécuté si tu l'appeles directement
Tout dépend de la configuration du serveur puisque j'exécute du PHP pour mes fichiers .css :)
quelle idée perverse.. jamais songé..

par mojorisin » 05 oct. 2007, 07:58

Pour en revenir aux short-open-tags, il est effectivement officiellement déconseillé de le faire, mais officieusement je ne vois pas qui pourrait se permettre de la désactiver:
- le problème du xml est effectivement un faux problème (soit le fichier n'est pas parsé et le problème ne se pose pas, soit il l'est et ça se règle avec 1 echo sur la première ligne, quel drame).
- la syntaxe <?=$variable?> qui permet d'alléger la syntaxe et de rendre le script cent fois plus lisible, une fois qu'on la connait on l'adopte ;)
Personnelement j'évite les short open tag, pas pour une question de prologue xml mais plus par soucis de portabilité et surtout de pérénité (et par fénéantise à long terme :D) du code. Il me semble (faudrait que je regarde) que la prochaine version de php (majeure) sera dépourvu tout simplement de cette option.

par jojolapine » 05 oct. 2007, 07:55

quand je dis interprété, je dis que le code s'exécute normalement comme du PHP.
Est_ce que tu as regardé la source de ta page sous safari?

par Patriboom » 05 oct. 2007, 03:48

Est-ce qu'on pourrait m'expliquer la différence entre echo et print

J'utilise toujours ce dernier et je vois qu'on utilise beaucoup l'autre.
Pourquoi un plus que l'autre?

par Dux » 03 mars 2005, 15:55

quand je dis interprété, je dis que le code s'exécute normalement comme du PHP.

par naholyr » 03 mars 2005, 15:42

Il ne l'interpréte pas comme du Php, mais comme du HTML. Ainsi les tags <?...?> sont considérés comme des tags HTML (non compris, et donc non rendus).

par Dux » 03 mars 2005, 14:33

ca n'en reste pas moins étrange que Safari interprete un code PHP dans un fichier .txt et ne l'affiche pas sous sa forme brute

par naholyr » 03 mars 2005, 14:25

De plus l'interprétation d'un fichier en TXT ou PHP ne dépend pas du client, ça se passe côté serveur :roll:

Pour en revenir aux short-open-tags, il est effectivement officiellement déconseillé de le faire, mais officieusement je ne vois pas qui pourrait se permettre de la désactiver:
- le problème du xml est effectivement un faux problème (soit le fichier n'est pas parsé et le problème ne se pose pas, soit il l'est et ça se règle avec 1 echo sur la première ligne, quel drame).
- la syntaxe <?=$variable?> qui permet d'alléger la syntaxe et de rendre le script cent fois plus lisible, une fois qu'on la connait on l'adopte ;)

par fab » 03 mars 2005, 03:12

mozilla est basé sur gecko il me semble

par Dux » 02 mars 2005, 23:25

a propos de l'interprétation du type de fichier:

faites un essai, enregistrez un code PHP dans un document.txt et appellez le avec un mozilla 4/5 qui va le prendre en texte brut puis essayez avec certains geckos, entre autre safari, le code sera traduit par PHP.
Et je ne parle pas d'un local Web.

par cerber » 15 févr. 2005, 12:27

ça pose un ( faux ) problème.
200 % d'accord

de toute facon c'est mieux de desactiver les short open tags uniquement pour le répertoire (ou mieux : le script) qui pose probleme ...

C'est vrai que c'est déconseillé d'utiliser les short open tags, mais d'un autre coté, je connais peut de serveurs qui les désactivent et d'un autre coté je connais ENORMEMENT de progammeurs qui font du quick and dirrrty en short open tags (et j'en suis :twisted: )

Affichage HTML sous PHP

par sadeq » 14 févr. 2005, 11:15

La vrai question n'est pas de réinventer ECHO, mais de décider quand faut-il afficher des données en HTML (réponse HTTP). La tradition veut que presque la majorité des développeurs adoptent deux méthodes, selon le découpage classique du document (script PHP suivi du code HTML) :

1. Envoi d'un écho porteur de données formatées HTML au cours du traitement (code php)

2. Envoi d'un écho porteur de données au cours du balisage HTML

La deuxième méthode repose sur l'utilisation de variables PHP intémédiaires. En effet le modèle script PHP/HTML permet de renseigner des variables avant de les afficher dans la partie HTML grâce à la fameuse insertion <? echo $variable; ?> qui est un héritage de la méthode de fusion de données (publipostage)

Le publipostage permet de définir une interface d'affichage qui est un modèle de document à publier en protant des données issues d'une base de données externe au document.

Mais il existe une troisième méthode qui n'est pas moins intéréssente et qui n'apparait jamais dans les solutions peut être parce qu'elle repose sur un script côté client pour rediriger les données vers leurs emplacements dans le document.
Eneffet, contrairement aux deux autres méthodes, cette troisième suppose que le document est déjà affiché, que des emplacements nommés (balises) étaient prévus pour afficher les données. Le script PHP dans ce cas peut être exécuter après le code HTML, et le ECHO servira à créer un script-client (javascript ou vbscript) qui envoi les données determinées par PHP dans les balises nommées.
Dans cette méthode l'affichage est délégué au script client. Cette méthode s'avère intéressente quand on souhaite afficher la réponse HTTP en sur-impression selon un lot de réalisation : le script PHP doit envoyer des résultats par lot selon l'état dévancement de son traitement, le client lui, reçoit l'affichage complet dès le premier envoi de l'entête HTTP. Les données elles, s'affichent au fur et à mesure de leurs détermination par le traitemet PHP.

1 exemple pour les 3 méthodes :

Méthode 1 : ECHO de données HTML dans le code PHP
Toutes les données sont envoyées en direct par ECHO vers HTML
Attention : Cette méthode affiche le résultat lot par lot selon l'avancement du traitement (affichage séquentiel)

Code : Tout sélectionner

<? //Début du code PHP (HTML inclus) //Déterminer les données et les afficher en HTML ECHO "<baliseHTML> $données "; ECHO "<baliseHTML> $données "; ECHO "<baliseHTML> $données "; ... //Fin de traitement PHP >?
Méthode 2 : ECHO dans le code HTML
Cette méthode détermine le lot de données avant de tout afficher par le code HTML. Ici l'affichage n'est pas séquentiel, mais ne sera effectué que si le traitement est terminé.

Code : Tout sélectionner

<? //Début du code PHP ... $données = //déterminer les données à afficher ... //Fin de traitement PHP >? <!-- Code HTML --> ... <baliseHTML><? echo $données; ?> ou <baliseHTML><? =$données; ?> ... <!-- Fin de l'affichage HTML -->
Méthode 3 : ECHO d'un script-client (affichage différé des données)
Ici, l'affichage du corps du document se fait en premier par HTML, seules les données déterminées par le traitement sont affichée par PHP.
Le traitement délégue l'opération d'affichage à la machine virtuelle du client qui oriente les données vers des balises nommées (préparées par HTML)

Code : Tout sélectionner

<!-- Code HTML --> Contenu statique du document <baliseNommée id=nom> Contenu statique du document <baliseNommée id=nom> .... <!-- Fin de l'affichage HTML --> <? //Début du code PHP $données = //determiner les données à afficher //Afficher un lot de données déterminées dans des champs INPUT prévus ECHO "<SCRIPT> champNommé.value = $données; </SCRIPT>"; $données = //determiner d'autres données à afficher //Afficher un autre lot de données déterminées dans des balises HTML ECHO "<SCRIPT> baliseNommée.innerTexte = $données; </SCRIPT>"; .... //Fin de traitement PHP >?
Dans cette dernière méthode l'utilisateur attend des données et non un document puisque le document est chargé en entier sans l'intervention du code PHP.

par Xenon_54 » 09 févr. 2005, 23:30

Par contre pour en revenir a ce que tu dis , un serveur web reconnait le language d'un fichier par son extension exemple si tu met du php dans un fichier .txt il ne sera pas éxécuté si tu l'appeles directement
Tout dépend de la configuration du serveur puisque j'exécute du PHP pour mes fichiers .css :)