我创建了一个网站,用户在该网站上输入他们以前观看过的电影,该电影存储在数据库中,然后使用其历史记录下单独页面上的本地存储进行输出。这对第一个用户有效,但是历史记录下的输出不会根据用户而更改,因为本地存储中的值不会更改。还有其他应使用的存储方法,还是可以使用本地存储来解决。
<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>
您可以使其更简单,更安全,您可以将值存储在php的cookie中,并在步骤页面的任何位置使用它们