php - array_push 页面刷新后未添加第二项

标签 php array-push

我知道 array_push 没有添加第二个项目,因为当页面在添加另一个项目后刷新时,原始项目会消失并被文本框中的最新条目取代。

我正在尝试实现这种策略,尝试...

a. 让 session 即使通过页面刷新也能记住添加的下一个项目。

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

最佳答案

尝试

<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'];

    $_SESSION['user_playlists'][] = $create_playlist;

    $playlists = array("One", "Two", "Three");

    for ($i = 0; $i < count($_SESSION['user_playlists']); $i++) {
        array_push($playlists, $_SESSION['user_playlists'][$i]);
    }

    $_SESSION['main'] = $playlists;      

    for ($i = 0; $i < count($playlists); $i++) {
        echo $playlists[$i] . "<br />";
    }
?>

您的方法是在 array_push 达到所需效果之前设置 $_SESSION['main'] = $_POST['create_playlist']

关于php - array_push 页面刷新后未添加第二项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29587514/

相关文章:

php - Route::model 在 Laravel 中是什么意思?

php - mysqldump php 命令 easyphp

php - 制作一个可以 self 更新并在企业级别保护它的 PHP 应用程序

javascript - 为什么 Array.prototype.push 返回新的长度而不是更有用的东西?

javascript - 使用 javascript 将值插入数组

php - 如何合并两个多维数组

php - 如何保护您网站上的文件

javascript - 使用javascript将值动态插入数组

javascript - If else 数组中的简写 .push()

php - 来自命令行的 PDO MySQL 连接问题