检查是否设置了背景图像

I'm working on a simple script - file input which will change the site's background to the given image. It works, but my problem starts when I refresh site - the background image disappears.

I was wondering how to set and check if the background was set, so it will be there as long since next file input ?

I was trying to do that with a constant but does not work, here is my code:

if (isset($_POST['submit_bgImg'])) {
    $myTarget = 'img/' . basename($_FILES['bg_img']['name']);
    if (move_uploaded_file($_FILES['bg_img']['tmp_name'], $myTarget)) {
        print('<style> body {background-image:url(img/' . $myFile . ');}</style>');
        define('MY_BG', $_FILES['bg_img']['name']);
    }
}

if (defined('MY_BG')) {
    print('<style> body {background-image:url(img/' . MY_BG . ');}</style>');
}

any help ?

If you want to keep it only for the user you must store MY_BG variable in Session or Cookies like :$_SESSION['my_bg'] = $_FILES['bg_img']['name'];

if you want to keep it forever you must store it on a file or a Database like MySQL

$conn = new MySQLi('host','user','password','database name');
$conn->query("INSERT INTO table VALUES ('" . $bg_name . "')");

Try out with echo in php instead of print.I recommended to you can use ajax.

    if (isset($_POST['submit_bgImg'])) {
    $myTarget = 'img/' . basename($_FILES['bg_img']['name']);
    if (move_uploaded_file($_FILES['bg_img']['tmp_name'], $myTarget)) {
        echo "<style> body {background-image:url(img/' . $myFile . ');}</style>";
        define('MY_BG', $_FILES['bg_img']['name']);
    }
}

if (defined('MY_BG')) {
    echo "<style> body {background-image:url(img/' . MY_BG . ');}</style>";
}