vendredi 15 décembre 2017

How to get the result of mt_rand in a session

I want my website to have a random background every time it is refreshed, but after someone logs in, I want this background to stay the same the rest of the session. I have found the following code for the random background:

<?php    
$bg = array('bg-01.jpg', 'bg-02.jpg', 'bg-03.jpg', 'bg-04.jpg', 'bg-05.jpg', 'bg-06.jpg', 'bg-07.jpg', 'bg-08.jpg', 'bg-09.jpg', 'bg-10.jpg', 'bg-11.jpg', 'bg-12.jpg', 'bg-13.jpg');

$n = mt_rand(0, count($bg)-1);
  $selectedBg = "$bg[$n]";     
?>

For your interest: this is how I made sure the selected bg was truly the background of the page (this is put in the <head> section):

<style type="text/css">
body{
background: url(../afbeeldingen/<?php echo $selectedBg; ?>) ; background-size: 100%; background-attachment: fixed;
}
</style>

This works fine. but now I want to put the output in a session. At first i thought this would work:

$_SESSION['background']= "$selectedBg";

This does put a random number in a session but that number is not the same as outputted with the mt_rand before. I have also been struggling with the following javascript

<script>
document.getElementById("demo").innerHTML =
Math.floor(Math.random() * 100) + 1;
</script>

but i could not match the output to $bg array presented before. I am still a beginner in PHP. But I hope there is someone who can help me with this. I tried to make myself clear but English is not my foreign language. Thanks in advance.




Aucun commentaire:

Enregistrer un commentaire