AJAX-Javascript数组到php

I know that there are so many to find on the internet, however, I have been trying this for hours now, and still not working, Maybe the community could help me out:)

http://jsfiddle.net/dkk2nqyg/14/

I've got a little explanation in the jsfiddle, else, you can take a look in my previous question, JavaScript array splice

Basicly, I want the values from selected ( 3 picked up cards ) in php, because I want to mail those values;)

 $.ajax({
   url: 'data.php',  //I actually want it to be on same page, trying this for debugging
   type: 'post',
   data: {data : selected},
   success: function(data) {
        alert("worked");
   }
});

in the data.php :

<?php
$data = json_decode(stripslashes($_POST['data']));
  foreach($data as $d){
     echo $d;
  }
?>

I would like that I don't even need that data.php but just 1 page, so in the index.php, is that even possible?

Edit: Please, link a JsFiddle, would really help!

First the ajax request should be within the click handler

$('#mail').click(function () {
    console.log($('#dvDest .flipper').get())
    var selected = $('#dvDest .flipper').map(function () {
        return $(this).data('src')
    }).get();
    alert(selected)
    $.ajax({
        url: 'data.php', //I actually want it to be on same page, trying this for debugging
        type: 'post',
        data: {
            data: selected
        },
        success: function (data) {
            alert("worked");
        }
    });
})

then in server side loop through the array like(Not sure about the PHP syntax)

<?php
  foreach($_POST['data'] as $d){
     echo $d;
  }
?>

you can write a condition as if request object have post values then

$data = json_decode(stripslashes($_POST['data']));
 foreach($data as $d){
  echo $d;
}

else your homepage display code

So,index.php is enough

For using a single page, eg: index.php

at the top of index.php you do:

if ($_SERVER['REQUEST_METHOD'] === 'POST') {
    // Your code goes here
    exit();
}