recherche

Maison  >  Questions et réponses  >  le corps du texte

Réécriture de variables PHP

Dans header.php, il y a une variable $title définie au même endroit (selon l'URL de la page). Dans l'une des pages intérieures, je souhaite remplacer $title car il est extrait de la base de données. Par exemple : dans header.php il y a

if (...) {$title = "Section 1";}

Alors echo $title

dans inner.php-

include(header.php); ... SELECT .....

$title = "Page 1";

Bien sûr, cela ne fonctionnera pas. J'ai essayé d'utiliser des variables globales sans succès. Comment remplacer la variable $title dans inner.php (header.php) ? Merci pour le conseil, je ne connais pas grand chose en PHP.

J'ai essayé d'utiliser des globales ou même des fonctions, mais je ne suis pas sûr

P粉933003350P粉933003350308 Il y a quelques jours455

répondre à tous(1)je répondrai

  • P粉204079743

    P粉2040797432024-01-11 00:18:23

    Les ordinateurs font ce que vous leur dites dans l'ordre que vous leur dites. Si tu dis ceci :

    1. Définissez le titre sur "Section 1".
    2. Lisez le titre.
    3. Définissez le titre sur "Page 1".

    L'ordinateur effectuera chaque étape dans l'ordre. À l'étape 2, il lira « Partie 1 » et à l'étape 3, il n'y a aucun moyen de le « dédire » et de dire quelque chose de différent.

    C'est essentiellement ce que fait votre code actuel, avec quelques étapes supplémentaires entre les deux :

    1. Contient "header.php"
    2. (dans header.php) Définissez l'en-tête sur "Section 1" en fonction de l'URL
    3. (dans header.php) Afficher l'en-tête
    4. Faites quelque chose avec la base de données
    5. Définir le titre sur "Page 1"
    6. Afficher le reste de la page

    L'étape 5 ne peut pas affecter l'étape 3 ; cela s'est déjà produit.

    La manière habituelle d'éviter cela est de diviser le programme en deux étapes : la première étape préparer les données, qui récupère les données de la base de données et prend des décisions sur des éléments tels que les titres des pages ; la deuxième étape affiche les données, qui prend simplement des décisions basées sur les données acquises.

    Donc, dans votre cas, vous pouvez diviser la partie données de "header.php" en "startup.php" distinct en procédant comme suit :

    1. Contient "startup.php"
    2. (Dans startup.php) Définissez le titre sur "Section 1" en fonction de l'URL
    3. Faites quelque chose avec la base de données
    4. Définir le titre sur "Page 1"
    5. Contient "header.php"
    6. (dans header.php) Afficher l'en-tête
    7. Afficher le reste de la page

    Les titres dans les en-têtes sont désormais affichés une fois que toute la logique a été exécutée et peuvent être affichés sous la forme « Page 1 » au lieu de « Section 1 ».

    répondre
    0
  • Annulerrépondre