Przekazanie tablicy JavaScript do pliku PHP [duplikat]

To pytanie ma już odpowiedź tutaj:

Jak przekazać zmienne JavaScript do PHP? 12 odpowiedziPrzekazanie wartości JavaScript do zmiennej PHP (z ograniczeniami) 3 odpowiedzi

Wiem, że JavaScript jest po stronie klienta, a PHP po stronie serwera i to komplikuje sprawę, ale zastanawiam się, jak to zrobić.

Mam tablicę w kodzie javascript (w pliku HTML), a kiedy użytkownik naciśnie przycisk przesyłania, chcę, aby strona przesłała tę tablicę na moją stronę PHP, która następnie weźmie tę datę i umieści ją w bazie danych SQL.

Czy istnieje prosty sposób to zrobić? Moja tablica jest zadeklarowana w ten sposóbvar markers = []; to tylko zmienna w części kodu javascript.

Spojrzałem na wiele innych postów na ten temat, ale wszystkie rozwiązania nie będą pasować do tego, co muszę zrobić, lub wymagać DUŻEJ zmiany w stosunku do tego, co mogę teraz zrobić. Naprawdę nie znam AJAX ani JSON (nie jestem pewien, co to dokładnie jest).

Mój Javascript to:

var markers = [];

function placeMarker(location) {
        var clickedLocation = new google.maps.LatLng(location);
        var name = document.getElementById("checkname").value;
        var description = document.getElementById("description").value;


        var marker = new google.maps.Marker({
            position: location,
            map: map,
            title: name,
            // This may cause a problem when reloading and editing an existing tour
            // url was found at: http://biostall.com/adding-number-or-letters-to-google-maps-api-markers
            icon: 'http://chart.apis.google.com/chart?chst=d_map_pin_letter&chld=' + markerId + '|FE6256|000000'
        });

        marker.setMap(map);
        markers.push([markerId, name, marker.getPosition().lat(), marker.getPosition().lng(), description]);
        //alert("" + markers);
        markerId = markerId + 1;
    }

    google.maps.event.addListener(map, 'click', function(event) {
        placeMarker(event.latLng);
    });

    google.maps.event.addListener(marker, "click", function() {
        map.removeOverlay(marker);
        marker.setMap(map);
    });
} 

window.onload = function() {
    var form = document.getElementById('theform');
    form.addEventListener('submit', function(){
        var markersField = document.getElementById('markers');
        markersField.value = JSON.stringify(markers);
    });
}

My HTML to:

<form action="portal.php" method="post" id="theform">
    <input type="hidden" id="markers" name="markers">
    <button>Submit</button>
</form>

W moim pliku portal.php mam:

$markers = json_decode($_POST['markers']);
echo $markers;

Nic nie jest drukowane na stronie php, chociaż wiem, że są elementy w tablicy, to prowadzi mnie do przekonania, że tablica nie jest przekazywana.

questionAnswers(4)

yourAnswerToTheQuestion