Pass variable to string in include file - PHP

2019-07-27 10:16发布

What I am trying to do is to have an include file with generalized language in a string that will be used across multiple pages, but I also need to pass a variable to the string from the current page.

Here is an example:

Here is a snippet of the index.php page:

<?PHP
require_once($_SERVER['DOCUMENT_ROOT'].'/lib/prefix.php');

echo $GENERAL_STRINGS['user_not_found'];
?>

Here is the include page:

<?PHP
$GENERAL_STRINGS['user_not_found'] = 'User account not found<br /><a href="/register/?email='.$email.'">Register Today for FREE</a>';
?>

The $email variable is always empty when the link is referenced, I assume this is because it is looking for the $email variable from the include page instead of the index page. Is there a way around this?

2条回答
做自己的国王
2楼-- · 2019-07-27 10:29

I have tested it. All good. May be, you forgot assigning of $email.

<?PHP
$email = 'emal@email.com';
$GENERAL_STRINGS['user_not_found'] = 'User account not found<br /><a href="/register/?email='.$email.'">Register Today for FREE</a>';
?>
查看更多
别忘想泡老子
3楼-- · 2019-07-27 10:36

Use printf() or sprintf():

<?php
$GENERAL_STRINGS['user_not_found'] = 'User account not found<br /><a href="/register/?email=%s">Register Today for FREE</a>';
?>

Use it in this way:

<?php
printf($GENERAL_STRINGS['user_not_found'], urlencode($email));
?>
查看更多
登录 后发表回答