I have in the common header of my php website files (header.inc) this code:
if($pubblicato != '') {echo "<p class='pubblicato'>pubblicato su <cite>$pubblicato</cite></p>
And in a single php file:
<?php
$keywords="Claudel,Annuncio a Maria,Scarpina di raso";
$title="Paul Claudel";
$autore="Daniela Fabiani e Agostino Gentili";
$pubblicato="$Tracce (1981/10)";
include "normal.inc";
$img="$root/multimedia/img/ritratti/Claudel.jpg";
$imgalt="ritratto di Claudel";
include "$root/header.inc";
?>
the variable $Tracce is defined in a file called in header.inc, and if I write in the body of the file
<?php echo $Tracce ?>
I can see the expected result.
But the value of $Tracce doesn’t appear in his place (as in the above first code): html is
<p class='pubblicato'>pubblicato su <cite> (1981/10)</cite></p>
Uhm… Thank you, but I don’t understand.
The file (definiz.php) where $Tracce is definied is included in header.inc (at its beginning).
EDIT
Even this code doesn’t work
<?php
$keywords="Claudel,Annuncio a Maria,Scarpina di raso";
$title="Paul Claudel";
$autore="Daniela Fabiani e Agostino Gentili";
include "$root/definiz.php";
$pubblicato="$Tracce (1981/10)";
include "normal.inc";
$img="$root/multimedia/img/ritratti/Claudel.jpg";
$imgalt="ritratto di Claudel";
include "$root/header.inc";
?>
neither this:
<?php
$keywords="Claudel,Annuncio a Maria,Scarpina di raso";
$title="Paul Claudel";
$autore="Daniela Fabiani e Agostino Gentili";
$pubblicato="$Tracce (1981/10)";
include "$root/definiz.php";
include "normal.inc";
$img="$root/multimedia/img/ritratti/Claudel.jpg";
$imgalt="ritratto di Claudel";
include "$root/header.inc";
?>
<?php
$keywords="Claudel,Annuncio a Maria,Scarpina di raso";
$title="Paul Claudel";
$autore="Daniela Fabiani e Agostino Gentili";
include "normal.inc";
include "$root/definiz.php";
$pubblicato="$Tracce (1981/10)";
$img="$root/multimedia/img/ritratti/Claudel.jpg";
$imgalt="ritratto di Claudel";
include "$root/header.inc";
?>
Because $root is definied in normal.inc
But there would not be a simpler way? In this way I have to add a new row of code for every file with $Tracce. Quite annoying…
Is it possible to see your whole project anywhere? (Can you put it on Github?)
Maybe I am completely wrong but I don’t understand your way of programming.
For example: I never ever user include in the middle of a code. I include all needed files at the top of each source code.
I never ever start a variable name with an uppercase capital.
If I need $root and $tracce in all files, I make one config file which is included as first file on top of each other file. So I can always access it.
When you find yourself doing something repetitive in programming, it is a sign that you are doing something wrong and you need to rethink the structure.
I dont necessarily think its doing something “wrong”, but its definitely something that can be simplified. Often times a first pass through a coding problem is literally translating your solution steps into code to make sure the logic is sound and gets the correct outcome, and then taking a second pass to clean up.