2016-08-06 25 views
0

Ich arbeite an einem einfachen Skript - Dateieingabe, die den Hintergrund der Website zu dem gegebenen Bild ändert. Es funktioniert, aber mein Problem beginnt, wenn ich die Seite aktualisiere - das Hintergrundbild verschwindet.Überprüfen, ob Hintergrundbild eingestellt ist

Ich frage mich, wie man einstellen und überprüfen, ob der Hintergrund eingestellt wurde, so wird es da seit der nächsten Dateieingabe so lange sein?

Ich habe versucht, dass mit einer konstanten zu tun, aber nicht funktioniert, hier ist mein 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>'); 
} 

jede mögliche Hilfe?

+0

'isset ($ _ POST ['submit_bgImg'])' das ist das Problem. Bei der Aktualisierung ist der $ _POST ['submit_bgImg'] 'nicht gesetzt. –

+0

Probieren Sie diesen Link (http://stackoverflow.com/questions/11752451/how-do-i-set-a-fixed-background-image-for-a-php-file) – Arjun

+0

Ich schlage vor, einen Cookie oder eine Sitzung zu verwenden Halten Sie den Dateinamen vorübergehend. Offensichtlich arbeitet $ _post nicht mit Refresh –

Antwort

0

Wenn Sie es wollen, für den Benutzer nur halten Sie MY_BG Variable in Session oder Plätzchen wie speichern müssen: $_SESSION['my_bg'] = $_FILES['bg_img']['name'];

, wenn Sie es Sie es auf einem für immer speichern müssen Datei oder eine Datenbank wie MySQL behalten möchten

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

Probieren Sie mit Echo in PHP anstelle von Print.I empfohlen, Sie können Ajax verwenden.

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>"; 
}