+1 vote
in Other by
I have a newsletter template in one file and a mail script in another file which basically pulls email addresses from a database and loops through each one sending the email to them.

I am using this code to get the contents of the newsletter template:

$content = file_get_contents('attach/T_newsletter.php');

What I need to do now is send PHP variables along with this eg:

T_newsletter.php?test=hello

and then be able to pull them from the URL in the template and adjust the content accordingly.

Could someone explain how I would do this please?

Thanks for any help

JavaScript questions and answers, JavaScript questions pdf, JavaScript question bank, JavaScript questions and answers pdf, mcq on JavaScript pdf, JavaScript questions and solutions, JavaScript mcq Test , Interview JavaScript questions, JavaScript Questions for Interview, JavaScript MCQ (Multiple Choice Questions)

1 Answer

0 votes
by
file_get_contents('attach/T_newsletter.php');

Whoa! Stop right there. If this is not PHP source code then it should not have a .php extension - if it is PHP source code then you shouldn't be sending it out on a mailing list.

If you want to execute the code inside the file, then this is not the way to do it. One method would be to access the file via HTTP, e.g.

file_get_contents('http://localhost/attach/T_newsletter.php');

While this simplifies passing parameters to the script, it is still a rather messy solution.

Another really horrible way to solve the problem would be....

ob_start();

include('/attach/T_newsletter.php');

$content=ob_get_contents();

ob_end_flush();

The right way to implement this would be

1) as function (or class) in the included file:

 require_once ('/attach/T_newsletter.php');

 $content=generate_newsletter($params);

2) using the file as a DATA file template:

 $template=file_get_contents('/attach/T_newsletter.data');

 $content=preg_replace($template_vars, $template_values, $template);
...