如何查看是否选中了具有相同名称的复选框,然后在php中检索值

I have a list of songs. I'm trying to determine whether or not a song on the list has been checked or not. If so I need to know the value of the checkbox.

my html looks like this... the value $song_id is pulled from the list in the database.

<input type='checkbox' name='song[]' value='$song_id' />

There could be 10 songs... there could 100. I need to know which ones have been checked and how to get the value.

foreach ( $_POST['song'] AS $song_id ) {
    // do smth with $song_id ...
}
  1. On click save item ID of item to array; (js)
  2. On click search was such ID already checked; (in array)

ADDED

You should use jQuery (or raw javascript) to do logic you want. jQuery is http://jquery.com/ using it you can do you want on front-end. Do this on back-end is bad idea.

Once you submit the form the $_POST['song'] variable will contain an array of all the $song_id's that were selected.

You can do something like this:

<input type='checkbox' name='song[]' class='songItem' value='$song_id' />
<input type='hidden' id='selectSongsHidden' />

In JavaScript,

var selectedSongValues = [];
var selectedSongsString = ""; // for comma-separated values
function GetSelectedSongs()
{
    var songs = $('.songItem');
    var selectedSongs = [];
    for(var i=0; i<songs.length; i++)
    {
         var checked = $(songs[i]).is(':checked');
         if(checked)
         {
              selectedSongs.push(songs[i]);
         }
    }
    for(var j=0; j<selectedSongs.length; j++)
    {
         selectedSongValues.push($(selectedSongs[j]).val());
         selectedSongsString += $(selectedSongs[j]).val() + ",";
    }
    $('#selectSongsHidden').val(selectedSongsString);
}

When you press submit, in the onclick event you can call this function and set the value to a hidden field.

You can see this in a working http://jsfiddle.net/A3e3y