【发布时间】:2015-04-12 08:34:32
【问题描述】:
我知道 array_push 没有添加第二个项目,因为当页面在添加另一个项目后刷新时,原来的项目会消失并被文本框中的最新条目替换。
我正在尝试实现这种策略,即尝试...
a. 让会话记住要添加的下一项,即使是通过页面刷新。
或
b.根本不刷新页面。
在此处查看演示:http://query.notesquare.me/home.html/
代码
<form method="post">
<input type="text" id="input-create-playlist" placeholder="Playlist Name" name="create_playlist" />
<input type="submit" id="button-create-playlist" value="Create Playlist" />
</form>
<?php
session_start();
$create_playlist = $_POST['create_playlist'];
$playlists = array("One", "Two", "Three");
$_SESSION['main'] = $playlists;
array_push($playlists, $create_playlist);
for ($i = 0; $i < count($playlists); $i++) {
echo $playlists[$i] . "<br />";
}
?>
【问题讨论】:
-
您需要在设置 $_SESSION 变量之前将 array_push 向上移动。如果你想存储的不仅仅是你需要从 $_SESSION 变量中读取的最后一个播放列表,添加新的播放列表,保存到 $_SESSION 变量中。
-
或者直接保存到会话 $_SESSION['main'][] = $create_playlist;并在 for 循环中使用 $_SESSION 变量。
标签: php array-push