पर जावास्क्रिप्ट सरणी पास करना तो मुझे पता है कि जावास्क्रिप्ट क्लाइंट-साइड है और PHP सर्वर-साइड है और यह चीज जटिल करता है लेकिन मैं सोच रहा हूं कि यह करने के बारे में कैसे जाना है।PHP फ़ाइल
मेरे पास मेरे जावास्क्रिप्ट कोड (एक HTML फ़ाइल में) में एक सरणी है और जब उपयोगकर्ता मेरा सबमिट बटन हिट करता है तो मैं चाहता हूं कि पेज उस सरणी को मेरे PHP पृष्ठ पर भेज दे, जो उस तारीख को ले जाएगा और उसे डाल देगा एसक्यूएल डेटाबेस।
क्या ऐसा करने का कोई आसान तरीका है? मेरी सरणी इस var markers = [];
की तरह घोषित की गई है यह कोड के जावास्क्रिप्ट भाग में केवल एक चर है।
मैंने इसके बारे में अन्य पदों का एक समूह देखा है, लेकिन सभी समाधान जो मुझे करने की ज़रूरत है, उसके अनुरूप नहीं होंगे, या अभी मैं जो भी कर सकता हूं उसके लिए बहुत अधिक बदलाव की आवश्यकता है। मैं AJAX या JSON से वास्तव में परिचित नहीं हूं (सुनिश्चित नहीं है कि वास्तव में क्या है)।
मेरे जावास्क्रिप्ट है:
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);
});
}
मेरे HTML है:
<form action="portal.php" method="post" id="theform">
<input type="hidden" id="markers" name="markers">
<button>Submit</button>
</form>
मेरी portal.php फ़ाइल में मेरे पास है:
$markers = json_decode($_POST['markers']);
echo $markers;
कुछ भी नहीं है यहां तक कि php पृष्ठ में बाहर प्रिंट हालांकि मुझे पता है कि सरणी में तत्व हैं, इससे मुझे विश्वास होता है कि सरणी पारित नहीं हो रही है।
अच्छी तरह से आपको AJAX से परिचित होना चाहिए। ऐसा करने का यही एकमात्र तरीका है ... –
बहुत यकीन है कि ऐसा करने का एकमात्र तरीका कुछ प्रकार के AJAX समाधान के साथ है। अगर आपके पास इसका कोई अनुभव है तो jQuery इसे वास्तव में आसान बनाता है। – dmikester1