如何更改存储在LocalStorage中的值/项目

问题描述 投票:0回答:1

我创建了一个网站,用户在该网站上输入他们以前观看过的电影,该电影存储在数据库中,然后使用其历史记录下单独页面上的本地存储进行输出。这对第一个用户有效,但是历史记录下的输出不会根据用户而更改,因为本地存储中的值不会更改。还有其他应使用的存储方法,还是可以使用本地存储来解决。

<script> //retrieving database results from localstorage in html page
        var film2s = localStorage.getItem("historynames");
       var films = film2s.split(",");
        var filmi = localStorage.getItem("historyimages");
        var images = filmi.split(",");
</script>
<?php // retrieving users history from database
 for ($x = 0; $x<=$length -1; $x++){
        $select = $history[$x];
        $sql2= "SELECT FilmTitle FROM Films WHERE FilmID=".$select;
        $sql3= "SELECT imgFilm FROM Films WHERE FilmID=".$select;
        $result2 = mysqli_query($conn, $sql2);
        $result3 = mysqli_query($conn, $sql3);
        if (mysqli_num_rows($result2)> 0){
            while($row2 = mysqli_fetch_assoc($result2)){
                $h_films[] = $row2;
            }
            while($row3 = mysqli_fetch_assoc($result3)){
                $h_img[] = $row3;
            }
        }
    }
    $h_names = array();
    $h_images = array();

    for ($x = 0; $x<=$length -1; $x++){
        foreach($h_films[$x] as $data){
           // echo ($data['FilmTitle']);
            array_push($h_names,$data);
          // array_push($names,$value);            
        }
    }  
    for ($x = 0; $x<=$length -1; $x++){
        foreach($h_img[$x] as $imgdata){
           // echo ($data['FilmTitle']);
            array_push($h_images,$imgdata);      
        }
    }  
?>






<script> // storing databse results from localstorage
    var users = <?php echo json_encode(($h_names)) ;?>;
    document.cookie= "historynames="+ users;
    var users2 = <?php echo json_encode(($h_images)) ;?>;
    localStorage.setItem('historyimages', users2);
</script>
javascript php local-storage
1个回答
0
投票

您可以使其更简单,更安全,您可以将值存储在php的cookie中,并在步骤页面的任何位置使用它们

© www.soinside.com 2019 - 2024. All rights reserved.