PHP - 传递变量

时间:2015-01-12 12:11:09

标签: php function

在PHP中,我在函数

中有这个代码
 ob_start();
        echo "<p>Your Feed URL - <a href='/blah'>Click Here</a></p>";
        $feedURL = ob_get_contents();
        ob_end_clean();

现在这将我的ECHO存储为名为$ feedURL的局部变量,我需要在我的PHP脚本的另一部分中使用此变量。每次发布表单时都会生成echo语句。我需要的是当一个表单被POST时,创建的变量然后可以在函数内的脚本的另一部分中使用。

我尝试过使用return $ var;

当我在单独的函数中尝试echo $ var时,它返回一个空字符串?

我是愚蠢的还是我缺少的东西?

我想在另一个函数中使用该变量。

function add_page_content_Send_Feed(){
echo "<h2>Send your feed via email</h2>";

echo "<p>Below you can send your feed URL. Just enter the email you wish to send to.</p>";
echo "<p>This email will contain the URL leading to your feed</p>";
echo "<form id='post' action='http://localhost/wp/ultrait/admin.php?page=page6' method='POST'>";
echo "<label for='email'>Email:</label> <br /> <input type ='text' value = '' name = 'email' id     =    'email'/><br /><br />";
echo "<input type='submit' name='send_feed' value='Send my feed' id='submit'/>";
echo "</form>";

// Example using the array form of $headers
// assumes $to, $subject, $message have already been defined earlier...

$headers[] = 'From: UltraIT <demo@ultrait.org>';
$subject = 'Feed URL from UltraIT Property Management';
$test = "blah";
$message = 'Hello, please see your feed URL below. ' . $test;


if(isset($_POST['send_feed'])){
if(empty($_POST['email'])) // If no email has been specified
{
    echo "<p>Please enter an Email</p>";
} 
else{
    $email = $_POST['email'];
    print ($email);
}

    $to = $email;
    wp_mail( $to, $subject, $message, $headers);

} }

我需要将变量作为$ message变量的值。

1 个答案:

答案 0 :(得分:0)

要从任何function访问它,您可以使用global关键字,但这不是一个好习惯,请使用函数param来保持代码松散耦合。

function myFunc() {
    global $feedURL;
    //then use it 
}

确保您已在上面包含上述文件。

更新

你需要在函数

中传递$feedURL作为参数
add_page_content_Send_Feed($feedURL) {
  ...
  $message = 'Hello, please see your feed URL below. ' . $feedURL;
  ...
}