如何在“if”子句之外更改变量

时间:2018-05-28 08:30:22

标签: php

我还是一名学生,也是PHP和Web开发的新手。 我想通过按钮更新$ f1变量,但我似乎无法做到这一点。我有什么遗失的东西吗?

我尝试过以下(简化)代码:

<?php

$f1="s";

//user presses a button to change the variable
if(isset($_POST['emp_sig']) && !empty($_POST['emp_sig'])){

$upload_dir1 = "signatures/EmployeeSignatures/";
$file1= $upload_dir1 . mktime() . ".png";
$GLOBALS['f1'] = $file1;
$success = file_put_contents($file1, $data1);
print $success ? $file1 : 'Unable to save the file.';


}


//user now presses another button to echo the updated variable
if(isset($_POST['submit'])){


echo $GLOBALS['f1'];

}

?>

它不会回显更新的变量,但它会回显“s”。任何帮助将不胜感激。感谢。

2 个答案:

答案 0 :(得分:1)

您不必使用全局变量,您可以直接访问变量。

$f1="s";

//user presses a button to change the variable
if(!empty($_POST['emp_sig'])){
    $upload_dir1 = "signatures/EmployeeSignatures/";
    $file1= $upload_dir1 . mktime() . ".png";
    $f1 = $file1;
    $success = file_put_contents($file1, $data1);
    print $success ? $file1 : 'Unable to save the file.';
}

//user now presses another button to echo the updated variable
if(isset($_POST['submit'])){
    echo $f1;
}

答案 1 :(得分:0)

使用$ _SESSION解决了我的问题。

<?php

session_start();

//user presses a button to change the variable
if(!empty($_POST['emp_sig'])){

$upload_dir1 = "signatures/EmployeeSignatures/";
$file1= $upload_dir1 . mktime() . ".png";
$_SESSION["path1"] = $file1;
$success = file_put_contents($file1, $data1);
print $success ? $file1 : 'Unable to save the file.';


}


//user now presses another button to echo the updated variable
if(isset($_POST['submit'])){


echo $f1 = $_SESSION["path1"];

}

?>

感谢所有帮助过的人