Table des matières
回复讨论(解决方案)
Maison développement back-end tutoriel php 如何判读PHP页面第一次加载

如何判读PHP页面第一次加载

Jun 23, 2016 pm 02:12 PM

php如何像.Net中的

    if(!ispostback)
    {
    .....
    }

来判读页面是否是第一次加载!


回复讨论(解决方案)

为什么要做这个判断?php和.net不一样的吧

session

应该可以用cookie解决吧!

全局变量都可以.
当然你甚至可以用上数据库...

define('PAGE1_PHP_LOADED', true);
if(defined('PAGE1_PHP_LOADED')) echo '这页面不是第一次被加载了';

以上方案经常被用于c项目的头文件

define('PAGE1_PHP_LOADED', true);
if(defined('PAGE1_PHP_LOADED')) echo '这页面不是第一次被加载了'; cms 用的比较多。

一起学习,
引用 5 楼  的回复:

define('PAGE1_PHP_LOADED', true);
if(defined('PAGE1_PHP_LOADED')) echo '这页面不是第一次被加载了';
cms 用的比较多。

$GLOBALS['a']='a';
if (isset($GLOBALS['a']))
  加载过了

同意 acabin 方案

用Session或cookie都可以判断 第一次加载的时候给个值
在加载的时候 如果这个值不是空的话 就不是第一次加载了

加载还分几次么?每一次加载不都是新开始么,那么类似:

define('PAGE1_PHP_LOADED', true);
if(defined('PAGE1_PHP_LOADED')) echo '这页面不是第一次被加载了';

这种会有体现么?

加载还分几次么?每一次加载不都是新开始么,那么类似:

define('PAGE1_PHP_LOADED', true);
if(defined('PAGE1_PHP_LOADED')) echo '这页面不是第一次被加载了';

这种会有体现么?
事实上我那代码写反了

if(defined('PAGE1_PHP_LOADED')) echo '这页面不是第一次被加载了';define('PAGE1_PHP_LOADED', true);
Copier après la connexion
Copier après la connexion

这样才是正确的

至于是否会有体现,你把之放在a.php,然后在b.php调用几次就知道了

首先需要搞清楚 ispostback 究竟是什么?
字面意思是 是否为post方式回调
仅就字面意义而言就是 $_SERVER['REQUEST_METHOD'] == "POST"

但事情远没有这么简单,由于 .net 可以打包客户端代码。使得程序员可以用服务器端语言操控客户端组件(内部机制就不说明了)
于是 .net 会在客户端代码中加入一些操控和识别代码,用来完成客服端与服务端的交互,而不需要程序员干涉
此时 ispostback 就用来识别来自客户端的请求是什么性质的,因为第一次请求可能需要初始化操作而以后就不需要了

学习
首先需要搞清楚 ispostback 究竟是什么?
字面意思是 是否为post方式回调
仅就字面意义而言就是 $_SERVER['REQUEST_METHOD'] == "POST"

但事情远没有这么简单,由于 .net 可以打包客户端代码。使得程序员可以用服务器端语言操控客户端组件(内部机制就不说明了)
于是 .net 会在客户端代码中加入一些操控和识别代码……

要搞清楚,web是无状态的请求,就是说对服务器来说每次请求都是新请求,除非在session或cookie里设置了值才能判断,但是要注意客户端禁用了cookie是否是需要考虑的问题。什么define都是无效的。.net里也一样,光一个ispostback可能是已经从cookie或session里取了值的一个变量。

要搞清楚,web是无状态的请求,就是说对服务器来说每次请求都是新请求,除非在session或cookie里设置了值才能判断,但是要注意客户端禁用了cookie是否是需要考虑的问题。什么define都是无效的。.net里也一样,光一个ispostback可能是已经从cookie或session里取了值的一个变量。

正解。。。


加载还分几次么?每一次加载不都是新开始么,那么类似:

define('PAGE1_PHP_LOADED', true);
if(defined('PAGE1_PHP_LOADED')) echo '这页面不是第一次被加载了';

这种会有体现么?
事实上我那代码写反了

if(defined('PAGE1_PHP_LOADED')) echo '这页面不是第一次被加载了';define('PAGE1_PHP_LOADED', true);
Copier après la connexion
Copier après la connexion

这样才是正确的

至于是否会有体现,你把之放在a.php,然后在b.php调用几次就知道了


这样写肯定没用

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Curl dans PHP: Comment utiliser l'extension PHP Curl dans les API REST Curl dans PHP: Comment utiliser l'extension PHP Curl dans les API REST Mar 14, 2025 am 11:42 AM

L'extension PHP Client URL (CURL) est un outil puissant pour les développeurs, permettant une interaction transparente avec des serveurs distants et des API REST. En tirant parti de Libcurl, une bibliothèque de transfert de fichiers multi-protocol très respectée, PHP Curl facilite Efficient Execu

12 meilleurs scripts de chat PHP sur Codecanyon 12 meilleurs scripts de chat PHP sur Codecanyon Mar 13, 2025 pm 12:08 PM

Voulez-vous fournir des solutions instantanées en temps réel aux problèmes les plus pressants de vos clients? Le chat en direct vous permet d'avoir des conversations en temps réel avec les clients et de résoudre leurs problèmes instantanément. Il vous permet de fournir un service plus rapide à votre personnalité

Expliquez le concept de liaison statique tardive en PHP. Expliquez le concept de liaison statique tardive en PHP. Mar 21, 2025 pm 01:33 PM

L'article traite de la liaison statique tardive (LSB) dans PHP, introduite dans PHP 5.3, permettant une résolution d'exécution de la méthode statique nécessite un héritage plus flexible. Problème main: LSB vs polymorphisme traditionnel; Applications pratiques de LSB et perfo potentiel

Expliquez les jetons Web JSON (JWT) et leur cas d'utilisation dans les API PHP. Expliquez les jetons Web JSON (JWT) et leur cas d'utilisation dans les API PHP. Apr 05, 2025 am 12:04 AM

JWT est une norme ouverte basée sur JSON, utilisée pour transmettre en toute sécurité des informations entre les parties, principalement pour l'authentification de l'identité et l'échange d'informations. 1. JWT se compose de trois parties: en-tête, charge utile et signature. 2. Le principe de travail de JWT comprend trois étapes: la génération de JWT, la vérification de la charge utile JWT et l'analyse. 3. Lorsque vous utilisez JWT pour l'authentification en PHP, JWT peut être généré et vérifié, et les informations sur le rôle et l'autorisation des utilisateurs peuvent être incluses dans l'utilisation avancée. 4. Les erreurs courantes incluent une défaillance de vérification de signature, l'expiration des jetons et la charge utile surdimensionnée. Les compétences de débogage incluent l'utilisation des outils de débogage et de l'exploitation forestière. 5. L'optimisation des performances et les meilleures pratiques incluent l'utilisation des algorithmes de signature appropriés, la définition des périodes de validité raisonnablement,

Caractéristiques de sécurité du cadre: protection contre les vulnérabilités. Caractéristiques de sécurité du cadre: protection contre les vulnérabilités. Mar 28, 2025 pm 05:11 PM

L'article traite des fonctionnalités de sécurité essentielles dans les cadres pour se protéger contre les vulnérabilités, notamment la validation des entrées, l'authentification et les mises à jour régulières.

Frameworks de personnalisation / d'extension: comment ajouter des fonctionnalités personnalisées. Frameworks de personnalisation / d'extension: comment ajouter des fonctionnalités personnalisées. Mar 28, 2025 pm 05:12 PM

L'article examine l'ajout de fonctionnalités personnalisées aux cadres, en se concentrant sur la compréhension de l'architecture, l'identification des points d'extension et les meilleures pratiques pour l'intégration et le débogage.

Comment envoyer une demande post contenant des données JSON à l'aide de la bibliothèque Curl de PHP? Comment envoyer une demande post contenant des données JSON à l'aide de la bibliothèque Curl de PHP? Apr 01, 2025 pm 03:12 PM

Envoyant des données JSON à l'aide de la bibliothèque Curl de PHP dans le développement de PHP, il est souvent nécessaire d'interagir avec les API externes. L'une des façons courantes consiste à utiliser la bibliothèque Curl pour envoyer le post� ...

See all articles