有没有办法从GET请求中删除提交按钮?

Ale*_*nch 3 php forms

我有一个视图页面photos,每个photo都在一个album.

在页面顶部,我有一个分别albums带有album_id和的选择框album_name.

<form action="change-album.php" method="get">
    <table>
        <tr>
            <td><label>Select Album</label></td>
            <td><select name="album_id"><?=$albums_str?></select></td>
            <td><input type="submit" name="change-album" value="Select Album" /></td>
        </tr>
    </table>
</form>
Run Code Online (Sandbox Code Playgroud)

默认为uncategorised photos页面加载,然后用户可以选择他们的相册并按submit,这将返回该相册中的照片.

最初这个表单使用POST.

但是,如果用户选择了一个album,那么单击a photo.他们会看到这张照片的大版本.但是,如果用户在浏览器上按下BACK,它会说FORM MUST BE RE-SENT.这是因为该页面上的最后一个请求发布了album_id以获取照片.

我决定使用GET.因此,当用户转到BACK该页面时,album_id它位于查询字符串中!没有表格重新发送!YAAY!

但是,显然使用GET也会在查询字符串中发送提交按钮!

所以我最终得到:

localhost/admin/view-photos?album_id=1&change-album=Select+Album
Run Code Online (Sandbox Code Playgroud)

无论如何我可以从查询字符串中删除它吗?

或者任何人都可以想出更好的方法来实现这一目标吗?

我想从查询字符串中删除它,因为它实际上并不需要在那里.这毫无用处

Whi*_*ity 6

如果删除按钮的name属性,则可以从请求数组中删除提交按钮<input>.

因此,在您的情况下,您将不得不修改以下内容:

<input type="submit" name="change-album" value="Select Album" />
Run Code Online (Sandbox Code Playgroud)

取而代之的是:

<input type="submit" value="Select Album" />
Run Code Online (Sandbox Code Playgroud)