Desde php tengo un formulario que carga un dato en un xml, y a este xml lo cargo desde javascript. El tema es que una ves cargada la pagina me toma el xml viejo, es decir, con la informacion anterior a la carga.
Como hago para que no se carga en los temporales, o por lo menos que me muestre la informacion actualizada sin tener que el usuario elimine sus temporales de internet manualmente, ya que haciendo esto, veo la informacion actualizada...
POr si lo necesitan les dejo mi codigo...
Código PHP:
<?php
// si hay datos ...
if(isset($_POST['submit'])) {
// file_get_contents -> leer el contenido de un archivo
$fh = file_get_contents('markers.xml');
try {
// SimpleXMLElement- > leemos documentos XML
$xml = new SimpleXMLElement($fh);
} catch (Exception $e) {
// mensaje de error
echo $e->getMessage();
}
// addChild -> agregar un nodo nuevo
$marker = $xml->addChild('marker');
// atributos
$marker->addAttribute('lat', $_POST['lat']);
$marker->addAttribute('lng', $_POST['lng']);
$marker->addAttribute('msg', utf8_encode($_POST['msg']));
$marker->addAttribute('name', utf8_encode($_POST['name']));
$marker->addAttribute('link', utf8_encode($_POST['link']));
// fopen-> abre un archivo
$fp = fopen('markers.xml','w');
// fwrite-> escribe sobre un archivo
fwrite($fp, $xml->saveXML());
// fclose-> lo obvio ..
fclose($fp);
// direccionamos a la misma pagina
header('Location:index.php');
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Formularios en Google Maps</title>
<link href="css/index.css" rel="stylesheet" type="text/css" />
<script src="http://maps.google.com/maps?file=api&v=2&key=ABQIAAAA5I4IsDjGbqCgkN79fAi9pRTkwnhgV6_vctxWJVrGYlpsGc2BlxTJdx7r5DOQtgLyFPcpjwxnEx_aOA" type="text/javascript"></script>
<script type="text/javascript" src="jquery-1.2.6.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {
var mark;
var pointA;
if (GBrowserIsCompatible()) {
var m = $("#map")[0];
if(m) {
var map = new GMap2(m);
var start = new GLatLng(-33.305497,-66.336565);
var zoomLevel = 15;
map.setCenter(start, zoomLevel);
map.setUIToDefault();
$.get('markers.xml',function(data) {
$(data).find('marker').each(function(){
var lat = $(this).attr('lat');
var lng = $(this).attr('lng');
var html = $(this).attr('name')+"<br />";
html += $(this).attr('msg')+"<br />";
html += $(this).attr('link');
var point = new GLatLng(lat,lng);
var marker = new GMarker(point);
map.addOverlay(marker);
GEvent.addListener(marker, "click", function() {
marker.openInfoWindowHtml(html);
});
});
});
// en cada nueva marca aparecerá el formulario HTML
GEvent.addListener(map, 'click', function(overlay, point){
if(mark) {
map.removeOverlay(mark);
}
if(point) {
pointA = new GPoint(point.x, point.y);
mark = new GMarker(pointA);
map.addOverlay(mark);
map.getCenter(point);
var lat = point.y;
var lng = point.x;
var form = "<form action=\"index.php\" method=\"post\"><input type=\"hidden\" name=\"lat\" value=\""+lat+"\"/> <input type=\"hidden\" name=\"lng\" value=\""+lng+"\" /> Name:<input type=\"text\" name=\"name\" value=\"\" /><br /> Msg:<input type=\"text\" name=\"msg\" value=\"\" /><br />Link:<input type=\"text\" name=\"link\" value=\"\" /><br /><input type=\"submit\" name=\"submit\" value=\"save\" /></form>";
map.openInfoWindowHtml(point,form);
}
});
}
}
});
</script>
</head>
<body>
<div id="menuCabecera" class="menuCabecera">Para Agregar una Marca, haga un clic sobre el lugar deseado, complete el formulario y guarde la marca. Puede que tenga que refrescar la pagina, para que aparezca la marca agregada.</div>
<div id="tipoMarcas">
<div class="titulo" title="Arrastrar Ventanita">
Tipos de Marcas</div>
<div class="tiposMarcasLista">
<li>Fotografias
<li>Viviendas
<li>Comercios </div>
</div>
<div id="map"></div>
<div class="footer">
Copyright 2009 © - Todos los derechos reservados a Claudio A. Marrero y HandSmart San Luis.</div>
</body>
</html>