Jump to content

Echo variable before it is defined.. Follow-up question.. NEVERMIND!


Guest kilbad

Recommended Posts

Most pages on my website are generated with three [i]include[/i] commands, such that the header and footer are the same for all::

[code]
include 'header.php';
include "$some_unique_page.php";
include 'footer.php';
[/code]

In my header, I want to have the following code::

[code]
<title><?php echo "$page_title_of_unique_content"; ?></title>

[/code]

..and I want the $page_title_of_unique_content variable to be defined in the $some_unique_page.php file.

[b]Question::  Is it possible somehow echo this variable in the header title when it is being defined later on in the included script?[/b]

trying to echo a variable before it is defined would be like me expecting you to be able to solve a math problem for me without ever seeing the equation. there is no way PHP knows what to output if a variable has not been defined. why, exactly, can't the title variable be set somewhere else before the header is output?
Smarty templates will solve this problem.  It's a big step from standard php to Smarty though.

Another option is to buffer your output using ob_start() and related functions.  Then you can modify the buffer before displaying it, with str_replace() for example.

[code]<? ob_start() ?>
<title>{PAGE_TITLE}</title>

...

$output = ob_get_clean();
$output = str_replace('{PAGE_TITLE}', $page_title_of_unique_content, $output);
print $output;[/code]
Follow-up question (I am new to smarty templates)..

[b]With regard to smarty tags (like {PAGE_TITLE} for example, if I leave it undefined within some php document, how can I make it so that nothing is displayed, rather than "{PAGE_TITLE}"?[/b]

Restated, in the above example, if {PAGE_TITLE} was undefined, I would want no title displayed, NOT "{PAGE_TITLE}"..


Thanks in advance for the help!!
Brendan

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.